nautobot 2.4.13__py3-none-any.whl → 2.4.15__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 (463) hide show
  1. nautobot/apps/choices.py +8 -0
  2. nautobot/apps/ui.py +14 -0
  3. nautobot/core/api/views.py +2 -0
  4. nautobot/core/choices.py +4 -0
  5. nautobot/core/filters.py +21 -41
  6. nautobot/core/graphql/generators.py +8 -0
  7. nautobot/core/graphql/schema.py +30 -30
  8. nautobot/core/management/commands/check_job_approval_status.py +47 -0
  9. nautobot/core/management/commands/generate_test_data.py +1 -1
  10. nautobot/core/management/commands/migrate.py +90 -1
  11. nautobot/core/models/tree_queries.py +17 -0
  12. nautobot/core/settings.py +2 -2
  13. nautobot/core/settings.yaml +3 -3
  14. nautobot/core/tables.py +29 -6
  15. nautobot/core/templates/base_django.html +1 -1
  16. nautobot/core/templates/components/panel/header_extra_content_table.html +1 -1
  17. nautobot/core/templates/generic/object_list.html +17 -20
  18. nautobot/core/templates/inc/breadcrumbs.html +14 -0
  19. nautobot/core/templatetags/buttons.py +2 -4
  20. nautobot/core/templatetags/helpers.py +29 -6
  21. nautobot/core/templatetags/ui_framework.py +21 -0
  22. nautobot/core/testing/api.py +7 -0
  23. nautobot/core/testing/filters.py +20 -3
  24. nautobot/core/testing/forms.py +1 -1
  25. nautobot/core/tests/integration/test_filters.py +2 -2
  26. nautobot/core/tests/test_breadcrumbs.py +366 -0
  27. nautobot/core/tests/test_commands.py +40 -0
  28. nautobot/core/tests/test_filters.py +51 -1
  29. nautobot/core/tests/test_forms.py +1 -1
  30. nautobot/core/tests/test_graphql.py +4 -4
  31. nautobot/core/tests/test_titles.py +183 -0
  32. nautobot/core/tests/test_tree_queries.py +30 -0
  33. nautobot/core/tests/test_views.py +2 -2
  34. nautobot/core/tests/test_views_utils.py +1 -1
  35. nautobot/core/ui/breadcrumbs.py +538 -0
  36. nautobot/core/ui/bulk_buttons.py +53 -0
  37. nautobot/core/ui/object_detail.py +31 -8
  38. nautobot/core/ui/titles.py +127 -0
  39. nautobot/core/ui/utils.py +25 -0
  40. nautobot/core/utils/migrations.py +1 -1
  41. nautobot/core/views/__init__.py +1 -1
  42. nautobot/core/views/mixins.py +26 -1
  43. nautobot/core/views/renderers.py +20 -2
  44. nautobot/core/views/utils.py +14 -13
  45. nautobot/dcim/api/serializers.py +9 -0
  46. nautobot/dcim/choices.py +55 -0
  47. nautobot/dcim/constants.py +0 -16
  48. nautobot/dcim/factory.py +1 -1
  49. nautobot/dcim/filters/__init__.py +15 -3
  50. nautobot/dcim/forms.py +120 -7
  51. nautobot/dcim/management/commands/trace_paths.py +1 -1
  52. nautobot/dcim/migrations/0072_alter_powerfeed_options_and_more.py +97 -0
  53. nautobot/dcim/models/device_component_templates.py +8 -0
  54. nautobot/dcim/models/device_components.py +31 -12
  55. nautobot/dcim/models/devices.py +1 -1
  56. nautobot/dcim/models/power.py +171 -10
  57. nautobot/dcim/models/racks.py +7 -4
  58. nautobot/dcim/tables/devices.py +2 -0
  59. nautobot/dcim/tables/devicetypes.py +1 -0
  60. nautobot/dcim/tables/power.py +30 -2
  61. nautobot/dcim/templates/dcim/device.html +2 -2
  62. nautobot/dcim/templates/dcim/devicetype_retrieve.html +1 -214
  63. nautobot/dcim/templates/dcim/location_retrieve.html +2 -2
  64. nautobot/dcim/templates/dcim/powerfeed_edit.html +8 -0
  65. nautobot/dcim/templates/dcim/powerfeed_retrieve.html +1 -1
  66. nautobot/dcim/templates/dcim/rack.html +2 -318
  67. nautobot/dcim/templates/dcim/rack_edit.html +2 -47
  68. nautobot/dcim/templates/dcim/rack_retrieve.html +318 -0
  69. nautobot/dcim/templates/dcim/rack_update.html +47 -0
  70. nautobot/dcim/tests/integration/test_device_bulk_operations.py +61 -0
  71. nautobot/dcim/tests/test_api.py +24 -4
  72. nautobot/dcim/tests/test_filters.py +91 -13
  73. nautobot/dcim/tests/test_models.py +262 -0
  74. nautobot/dcim/tests/test_views.py +20 -12
  75. nautobot/dcim/urls.py +2 -27
  76. nautobot/dcim/utils.py +13 -30
  77. nautobot/dcim/views.py +428 -146
  78. nautobot/extras/choices.py +12 -4
  79. nautobot/extras/factory.py +19 -20
  80. nautobot/extras/filters/__init__.py +3 -2
  81. nautobot/extras/filters/mixins.py +23 -7
  82. nautobot/extras/forms/__init__.py +2 -1
  83. nautobot/extras/forms/forms.py +71 -0
  84. nautobot/extras/forms/mixins.py +4 -2
  85. nautobot/extras/managers.py +4 -1
  86. nautobot/extras/migrations/0062_collect_roles_from_related_apps_roles.py +30 -7
  87. nautobot/extras/migrations/0124_add_joblogentry_index.py +16 -0
  88. nautobot/extras/migrations/0125_jobresult_date_started.py +18 -0
  89. nautobot/extras/models/customfields.py +53 -5
  90. nautobot/extras/models/datasources.py +1 -2
  91. nautobot/extras/models/jobs.py +13 -3
  92. nautobot/extras/models/relationships.py +55 -6
  93. nautobot/extras/plugins/views.py +24 -1
  94. nautobot/extras/secrets/__init__.py +1 -1
  95. nautobot/extras/tables.py +9 -0
  96. nautobot/extras/templates/extras/customfield.html +2 -129
  97. nautobot/extras/templates/extras/customfield_edit.html +2 -108
  98. nautobot/extras/templates/extras/customfield_retrieve.html +129 -0
  99. nautobot/extras/templates/extras/customfield_update.html +108 -0
  100. nautobot/extras/templates/extras/graphqlquery.html +2 -97
  101. nautobot/extras/templates/extras/graphqlquery_list.html +1 -0
  102. nautobot/extras/templates/extras/graphqlquery_retrieve.html +97 -0
  103. nautobot/extras/templates/extras/inc/jobresult.html +7 -3
  104. nautobot/extras/templates/extras/jobresult.html +2 -155
  105. nautobot/extras/templates/extras/jobresult_retrieve.html +155 -0
  106. nautobot/extras/templates/extras/marketplace.html +5 -6
  107. nautobot/extras/templates/extras/note.html +2 -53
  108. nautobot/extras/templates/extras/note_retrieve.html +53 -0
  109. nautobot/extras/templates/extras/plugins_list.html +5 -6
  110. nautobot/extras/templates/extras/secretsgroup.html +2 -29
  111. nautobot/extras/templates/extras/secretsgroup_edit.html +2 -82
  112. nautobot/extras/templates/extras/secretsgroup_retrieve.html +29 -0
  113. nautobot/extras/templates/extras/secretsgroup_update.html +82 -0
  114. nautobot/extras/templatetags/custom_links.py +2 -2
  115. nautobot/extras/templatetags/job_buttons.py +1 -1
  116. nautobot/extras/templatetags/plugins.py +1 -1
  117. nautobot/extras/tests/integration/test_computedfields.py +2 -2
  118. nautobot/extras/tests/integration/test_customfields.py +14 -11
  119. nautobot/extras/tests/integration/test_dynamicgroups.py +1 -1
  120. nautobot/extras/tests/integration/test_notes.py +1 -1
  121. nautobot/extras/tests/integration/test_plugins.py +6 -6
  122. nautobot/extras/tests/integration/test_relationships.py +2 -2
  123. nautobot/extras/tests/test_customfields.py +115 -7
  124. nautobot/extras/tests/test_filters.py +9 -0
  125. nautobot/extras/tests/test_forms.py +2 -2
  126. nautobot/extras/tests/test_plugins.py +2 -3
  127. nautobot/extras/tests/test_relationships.py +14 -8
  128. nautobot/extras/tests/test_views.py +285 -2
  129. nautobot/extras/urls.py +5 -110
  130. nautobot/extras/utils.py +5 -2
  131. nautobot/extras/views.py +116 -311
  132. nautobot/ipam/api/views.py +69 -6
  133. nautobot/ipam/tables.py +8 -15
  134. nautobot/ipam/tests/migration/test_migrations.py +8 -8
  135. nautobot/ipam/tests/test_api.py +352 -2
  136. nautobot/ipam/tests/test_models.py +1 -1
  137. nautobot/project-static/docs/404.html +34 -34
  138. nautobot/project-static/docs/apps/index.html +34 -34
  139. nautobot/project-static/docs/apps/nautobot-apps.html +34 -34
  140. nautobot/project-static/docs/assets/_mkdocstrings.css +44 -6
  141. nautobot/project-static/docs/assets/javascripts/{bundle.56ea9cef.min.js → bundle.50899def.min.js} +2 -2
  142. nautobot/project-static/docs/assets/javascripts/{bundle.56ea9cef.min.js.map → bundle.50899def.min.js.map} +2 -2
  143. nautobot/project-static/docs/assets/stylesheets/{main.342714a4.min.css → main.7e37652d.min.css} +1 -1
  144. nautobot/project-static/docs/assets/stylesheets/{main.342714a4.min.css.map → main.7e37652d.min.css.map} +1 -1
  145. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +39 -34
  146. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +36 -34
  147. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +139 -54
  148. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +48 -38
  149. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +50 -40
  150. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +36 -34
  151. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +35 -34
  152. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +43 -39
  153. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +52 -42
  154. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +50 -41
  155. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +54 -44
  156. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +85 -93
  157. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +154 -62
  158. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +54 -46
  159. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +146 -87
  160. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +240 -70
  161. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +38 -35
  162. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +41 -35
  163. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +173 -52
  164. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +269 -85
  165. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +5987 -2643
  166. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +36 -34
  167. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +165 -89
  168. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +161 -69
  169. nautobot/project-static/docs/development/apps/api/configuration-view.html +34 -34
  170. nautobot/project-static/docs/development/apps/api/database-backend-config.html +34 -34
  171. nautobot/project-static/docs/development/apps/api/models/django-admin.html +34 -34
  172. nautobot/project-static/docs/development/apps/api/models/global-search.html +34 -34
  173. nautobot/project-static/docs/development/apps/api/models/graphql.html +34 -34
  174. nautobot/project-static/docs/development/apps/api/models/index.html +34 -34
  175. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +34 -34
  176. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +34 -34
  177. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +34 -34
  178. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +34 -34
  179. nautobot/project-static/docs/development/apps/api/platform-features/index.html +34 -34
  180. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +34 -34
  181. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +34 -34
  182. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +34 -34
  183. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +34 -34
  184. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +34 -34
  185. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +34 -34
  186. nautobot/project-static/docs/development/apps/api/prometheus.html +34 -34
  187. nautobot/project-static/docs/development/apps/api/setup.html +34 -34
  188. nautobot/project-static/docs/development/apps/api/testing.html +34 -34
  189. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +34 -34
  190. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +34 -34
  191. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +34 -34
  192. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +34 -34
  193. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +34 -34
  194. nautobot/project-static/docs/development/apps/api/views/base-template.html +34 -34
  195. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +34 -34
  196. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +34 -34
  197. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +34 -34
  198. nautobot/project-static/docs/development/apps/api/views/index.html +34 -34
  199. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +34 -34
  200. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +42 -36
  201. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +34 -34
  202. nautobot/project-static/docs/development/apps/api/views/notes.html +34 -34
  203. nautobot/project-static/docs/development/apps/api/views/rest-api.html +34 -34
  204. nautobot/project-static/docs/development/apps/api/views/urls.html +34 -34
  205. nautobot/project-static/docs/development/apps/index.html +34 -34
  206. nautobot/project-static/docs/development/apps/migration/code-updates.html +34 -34
  207. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +34 -34
  208. nautobot/project-static/docs/development/apps/migration/from-v1.html +34 -34
  209. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +34 -34
  210. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +34 -34
  211. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +34 -34
  212. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +34 -34
  213. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +37 -37
  214. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +10544 -0
  215. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +34 -34
  216. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +34 -34
  217. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +34 -34
  218. nautobot/project-static/docs/development/apps/porting-from-netbox.html +37 -37
  219. nautobot/project-static/docs/development/core/application-registry.html +162 -133
  220. nautobot/project-static/docs/development/core/best-practices.html +34 -34
  221. nautobot/project-static/docs/development/core/bootstrap-ui.html +34 -34
  222. nautobot/project-static/docs/development/core/caching.html +34 -34
  223. nautobot/project-static/docs/development/core/controllers.html +34 -34
  224. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +34 -34
  225. nautobot/project-static/docs/development/core/generic-views.html +34 -34
  226. nautobot/project-static/docs/development/core/getting-started.html +34 -34
  227. nautobot/project-static/docs/development/core/homepage.html +34 -34
  228. nautobot/project-static/docs/development/core/index.html +34 -34
  229. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +34 -34
  230. nautobot/project-static/docs/development/core/model-checklist.html +34 -34
  231. nautobot/project-static/docs/development/core/model-features.html +34 -34
  232. nautobot/project-static/docs/development/core/natural-keys.html +34 -34
  233. nautobot/project-static/docs/development/core/navigation-menu.html +34 -34
  234. nautobot/project-static/docs/development/core/release-checklist.html +34 -34
  235. nautobot/project-static/docs/development/core/role-internals.html +34 -34
  236. nautobot/project-static/docs/development/core/settings.html +34 -34
  237. nautobot/project-static/docs/development/core/style-guide.html +34 -34
  238. nautobot/project-static/docs/development/core/templates.html +34 -34
  239. nautobot/project-static/docs/development/core/testing.html +34 -34
  240. nautobot/project-static/docs/development/core/ui-component-framework.html +724 -289
  241. nautobot/project-static/docs/development/core/user-preferences.html +34 -34
  242. nautobot/project-static/docs/development/index.html +34 -34
  243. nautobot/project-static/docs/development/jobs/getting-started.html +34 -34
  244. nautobot/project-static/docs/development/jobs/index.html +34 -34
  245. nautobot/project-static/docs/development/jobs/installation.html +34 -34
  246. nautobot/project-static/docs/development/jobs/job-extensions.html +34 -34
  247. nautobot/project-static/docs/development/jobs/job-logging.html +34 -34
  248. nautobot/project-static/docs/development/jobs/job-patterns.html +34 -34
  249. nautobot/project-static/docs/development/jobs/job-structure.html +34 -34
  250. nautobot/project-static/docs/development/jobs/migration/from-v1.html +34 -34
  251. nautobot/project-static/docs/development/jobs/testing.html +34 -34
  252. nautobot/project-static/docs/index.html +34 -34
  253. nautobot/project-static/docs/media/development/core/ui-component-framework/breadcrumbs-titles-data-flow.png +0 -0
  254. nautobot/project-static/docs/media/power_distribution.png +0 -0
  255. nautobot/project-static/docs/objects.inv +0 -0
  256. nautobot/project-static/docs/overview/application_stack.html +34 -34
  257. nautobot/project-static/docs/overview/design_philosophy.html +34 -34
  258. nautobot/project-static/docs/release-notes/index.html +34 -34
  259. nautobot/project-static/docs/release-notes/version-1.0.html +34 -34
  260. nautobot/project-static/docs/release-notes/version-1.1.html +34 -34
  261. nautobot/project-static/docs/release-notes/version-1.2.html +34 -34
  262. nautobot/project-static/docs/release-notes/version-1.3.html +34 -34
  263. nautobot/project-static/docs/release-notes/version-1.4.html +34 -34
  264. nautobot/project-static/docs/release-notes/version-1.5.html +34 -34
  265. nautobot/project-static/docs/release-notes/version-1.6.html +34 -34
  266. nautobot/project-static/docs/release-notes/version-2.0.html +34 -34
  267. nautobot/project-static/docs/release-notes/version-2.1.html +34 -34
  268. nautobot/project-static/docs/release-notes/version-2.2.html +34 -34
  269. nautobot/project-static/docs/release-notes/version-2.3.html +34 -34
  270. nautobot/project-static/docs/release-notes/version-2.4.html +402 -34
  271. nautobot/project-static/docs/requirements.txt +3 -3
  272. nautobot/project-static/docs/search/search_index.json +1 -1
  273. nautobot/project-static/docs/sitemap.xml +303 -299
  274. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  275. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +34 -34
  276. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +34 -34
  277. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +34 -34
  278. nautobot/project-static/docs/user-guide/administration/configuration/index.html +34 -34
  279. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +34 -34
  280. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +37 -37
  281. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +34 -34
  282. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +34 -34
  283. nautobot/project-static/docs/user-guide/administration/guides/docker.html +34 -34
  284. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +34 -34
  285. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +34 -34
  286. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +34 -34
  287. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +34 -34
  288. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +34 -34
  289. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +34 -34
  290. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +34 -34
  291. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +34 -34
  292. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +34 -34
  293. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +34 -34
  294. nautobot/project-static/docs/user-guide/administration/installation/index.html +34 -34
  295. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +34 -34
  296. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +34 -34
  297. nautobot/project-static/docs/user-guide/administration/installation/services.html +34 -34
  298. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +34 -34
  299. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +34 -34
  300. nautobot/project-static/docs/user-guide/administration/security/index.html +34 -34
  301. nautobot/project-static/docs/user-guide/administration/security/notices.html +34 -34
  302. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +296 -251
  303. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +34 -34
  304. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +34 -34
  305. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +34 -34
  306. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +34 -34
  307. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +34 -34
  308. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +34 -34
  309. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +34 -34
  310. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +34 -34
  311. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +34 -34
  312. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +34 -34
  313. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +34 -34
  314. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +34 -34
  315. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +34 -34
  316. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +34 -34
  317. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +34 -34
  318. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +34 -34
  319. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +34 -34
  320. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +34 -34
  321. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +34 -34
  322. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +34 -34
  323. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +34 -34
  324. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +34 -34
  325. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +34 -34
  326. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +34 -34
  327. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +34 -34
  328. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +34 -34
  329. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +34 -34
  330. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +34 -34
  331. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +34 -34
  332. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +34 -34
  333. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +34 -34
  334. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +34 -34
  335. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +34 -34
  336. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +34 -34
  337. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +34 -34
  338. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +34 -34
  339. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +34 -34
  340. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +37 -37
  341. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +34 -34
  342. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +34 -34
  343. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +42 -52
  344. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +34 -34
  345. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +34 -34
  346. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +34 -34
  347. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +34 -34
  348. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +37 -37
  349. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +34 -34
  350. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +34 -34
  351. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +34 -34
  352. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +34 -34
  353. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +316 -39
  354. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +35 -35
  355. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +34 -34
  356. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +147 -37
  357. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +52 -35
  358. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +51 -34
  359. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +34 -34
  360. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +34 -34
  361. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +34 -34
  362. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +34 -34
  363. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +34 -34
  364. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +34 -34
  365. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +34 -34
  366. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +34 -34
  367. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +34 -34
  368. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +34 -34
  369. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +34 -34
  370. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +34 -34
  371. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +34 -34
  372. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +34 -34
  373. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +34 -34
  374. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +34 -34
  375. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +34 -34
  376. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +34 -34
  377. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +34 -34
  378. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +34 -34
  379. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +34 -34
  380. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +34 -34
  381. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +34 -34
  382. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +34 -34
  383. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +34 -34
  384. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +34 -34
  385. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +34 -34
  386. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +34 -34
  387. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +34 -34
  388. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +34 -34
  389. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +34 -34
  390. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +34 -34
  391. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +34 -34
  392. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +34 -34
  393. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +34 -34
  394. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +34 -34
  395. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +34 -34
  396. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +34 -34
  397. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +34 -34
  398. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +34 -34
  399. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +34 -34
  400. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +34 -34
  401. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +34 -34
  402. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +34 -34
  403. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +34 -34
  404. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +34 -34
  405. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +34 -34
  406. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +34 -34
  407. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +34 -34
  408. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +34 -34
  409. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +34 -34
  410. nautobot/project-static/docs/user-guide/index.html +34 -34
  411. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +34 -34
  412. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +34 -34
  413. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +34 -34
  414. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +34 -34
  415. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +34 -34
  416. nautobot/project-static/docs/user-guide/platform-functionality/events.html +34 -34
  417. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +34 -34
  418. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +34 -34
  419. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +34 -34
  420. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +34 -34
  421. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +34 -34
  422. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +34 -34
  423. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +34 -34
  424. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +35 -35
  425. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +34 -34
  426. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +34 -34
  427. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +34 -34
  428. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +34 -34
  429. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +34 -34
  430. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +34 -34
  431. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +34 -34
  432. nautobot/project-static/docs/user-guide/platform-functionality/note.html +34 -34
  433. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +34 -34
  434. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +34 -34
  435. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +34 -34
  436. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +34 -34
  437. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +34 -34
  438. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +34 -34
  439. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +34 -34
  440. nautobot/project-static/docs/user-guide/platform-functionality/role.html +34 -34
  441. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +34 -34
  442. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +34 -34
  443. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +34 -34
  444. nautobot/project-static/docs/user-guide/platform-functionality/status.html +34 -34
  445. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +34 -34
  446. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +34 -34
  447. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +34 -34
  448. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +34 -34
  449. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +34 -34
  450. nautobot/tenancy/api/views.py +2 -1
  451. nautobot/users/tests/test_api.py +2 -2
  452. nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -252
  453. nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -75
  454. nautobot/virtualization/templates/virtualization/virtualmachine_retrieve.html +252 -0
  455. nautobot/virtualization/templates/virtualization/virtualmachine_update.html +75 -0
  456. nautobot/virtualization/urls.py +3 -61
  457. nautobot/virtualization/views.py +48 -72
  458. {nautobot-2.4.13.dist-info → nautobot-2.4.15.dist-info}/METADATA +27 -27
  459. {nautobot-2.4.13.dist-info → nautobot-2.4.15.dist-info}/RECORD +463 -439
  460. {nautobot-2.4.13.dist-info → nautobot-2.4.15.dist-info}/LICENSE.txt +0 -0
  461. {nautobot-2.4.13.dist-info → nautobot-2.4.15.dist-info}/NOTICE +0 -0
  462. {nautobot-2.4.13.dist-info → nautobot-2.4.15.dist-info}/WHEEL +0 -0
  463. {nautobot-2.4.13.dist-info → nautobot-2.4.15.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.6.1, mkdocs-material-9.6.15">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.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.342714a4.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.7e37652d.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3C%21--%21%20Font%20Awesome%20Free%206.7.2%20by%20%40fontawesome%20-%20https%3A//fontawesome.com%20License%20-%20https%3A//fontawesome.com/license/free%20%28Icons%3A%20CC%20BY%204.0%2C%20Fonts%3A%20SIL%20OFL%201.1%2C%20Code%3A%20MIT%20License%29%20Copyright%202024%20Fonticons%2C%20Inc.--%3E%3Cpath%20d%3D%22M288%200H128c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032v132.8c0%2011.8-3.3%2023.5-9.5%2033.5L10.3%20406.2C3.6%20417.2%200%20429.7%200%20442.6%200%20480.9%2031.1%20512%2069.4%20512h309.2c38.3%200%2069.4-31.1%2069.4-69.4%200-12.8-3.6-25.4-10.3-36.4L329.5%20230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7%200%2032-14.3%2032-32S337.7%200%20320%200zm-96%20196.8V64h64v132.8c0%2023.7%206.6%2046.9%2019%2067.1l34.5%2056.1h-171l34.5-56.1c12.4-20.2%2019-43.4%2019-67.1%22/%3E%3C/svg%3E');}</style>
41
+ <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3C%21--%21%20Font%20Awesome%20Free%207.0.0%20by%20%40fontawesome%20-%20https%3A//fontawesome.com%20License%20-%20https%3A//fontawesome.com/license/free%20%28Icons%3A%20CC%20BY%204.0%2C%20Fonts%3A%20SIL%20OFL%201.1%2C%20Code%3A%20MIT%20License%29%20Copyright%202025%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M288%200H128c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032v151.5L7.5%20426.3C2.6%20435%200%20444.7%200%20454.7%200%20486.4%2025.6%20512%2057.3%20512h333.4c31.6%200%2057.3-25.6%2057.3-57.3%200-10-2.6-19.8-7.5-28.4L320%20215.5V64c17.7%200%2032-14.3%2032-32S337.7%200%20320%200zm-96%20215.5V64h64v151.5c0%2011.1%202.9%2022.1%208.4%2031.8L306%20320H142l41.6-72.7c5.5-9.7%208.4-20.6%208.4-31.8%22/%3E%3C/svg%3E');}</style>
42
42
 
43
43
 
44
44
 
@@ -220,7 +220,7 @@
220
220
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
221
221
  <div class="md-source__icon md-icon">
222
222
 
223
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
223
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
224
224
  </div>
225
225
  <div class="md-source__repository">
226
226
  GitHub
@@ -392,7 +392,7 @@
392
392
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
393
393
  <div class="md-source__icon md-icon">
394
394
 
395
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
395
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
396
396
  </div>
397
397
  <div class="md-source__repository">
398
398
  GitHub
@@ -4004,29 +4004,6 @@
4004
4004
 
4005
4005
 
4006
4006
 
4007
- <li class="md-nav__item">
4008
- <a href="../../../user-guide/core-data-model/dcim/inventoryitem.html" class="md-nav__link">
4009
-
4010
-
4011
-
4012
- <span class="md-ellipsis">
4013
- Inventory Item
4014
-
4015
- </span>
4016
-
4017
-
4018
- </a>
4019
- </li>
4020
-
4021
-
4022
-
4023
-
4024
-
4025
-
4026
-
4027
-
4028
-
4029
-
4030
4007
  <li class="md-nav__item">
4031
4008
  <a href="../../../user-guide/core-data-model/dcim/modulebay.html" class="md-nav__link">
4032
4009
 
@@ -9219,6 +9196,15 @@
9219
9196
  </span>
9220
9197
  </a>
9221
9198
 
9199
+ </li>
9200
+
9201
+ <li class="md-nav__item">
9202
+ <a href="#nautobot.apps.models.TreeQuerySet.count" class="md-nav__link">
9203
+ <span class="md-ellipsis">
9204
+ count
9205
+ </span>
9206
+ </a>
9207
+
9222
9208
  </li>
9223
9209
 
9224
9210
  <li class="md-nav__item">
@@ -10035,6 +10021,29 @@
10035
10021
 
10036
10022
 
10037
10023
 
10024
+
10025
+
10026
+
10027
+
10028
+
10029
+
10030
+ <li class="md-nav__item">
10031
+ <a href="../../../development/apps/migration/ui-component-framework/breadcrumbs-titles.html" class="md-nav__link">
10032
+
10033
+
10034
+
10035
+ <span class="md-ellipsis">
10036
+ Breadcrumbs and titles
10037
+
10038
+ </span>
10039
+
10040
+
10041
+ </a>
10042
+ </li>
10043
+
10044
+
10045
+
10046
+
10038
10047
  </ul>
10039
10048
  </nav>
10040
10049
 
@@ -12459,6 +12468,15 @@
12459
12468
  </span>
12460
12469
  </a>
12461
12470
 
12471
+ </li>
12472
+
12473
+ <li class="md-nav__item">
12474
+ <a href="#nautobot.apps.models.TreeQuerySet.count" class="md-nav__link">
12475
+ <span class="md-ellipsis">
12476
+ count
12477
+ </span>
12478
+ </a>
12479
+
12462
12480
  </li>
12463
12481
 
12464
12482
  <li class="md-nav__item">
@@ -12746,6 +12764,7 @@
12746
12764
 
12747
12765
 
12748
12766
 
12767
+
12749
12768
  <div class="doc doc-children">
12750
12769
 
12751
12770
 
@@ -12818,6 +12837,7 @@ class MyModel(models.Model):
12818
12837
 
12819
12838
 
12820
12839
 
12840
+
12821
12841
  <div class="doc doc-children">
12822
12842
 
12823
12843
 
@@ -12841,6 +12861,7 @@ class MyModel(models.Model):
12841
12861
 
12842
12862
  <p>Workaround for https://github.com/django-extensions/django-extensions/issues/1713.</p>
12843
12863
 
12864
+
12844
12865
  </div>
12845
12866
 
12846
12867
  </div>
@@ -12880,6 +12901,7 @@ class MyModel(models.Model):
12880
12901
 
12881
12902
 
12882
12903
 
12904
+
12883
12905
  <div class="doc doc-children">
12884
12906
 
12885
12907
 
@@ -12905,6 +12927,7 @@ class MyModel(models.Model):
12905
12927
  <p>Generic implementation that depends on the model being a BaseModel subclass or otherwise implementing our
12906
12928
  <code>natural_key_field_lookups</code> property API. Loosely based on implementation from <code>django-natural-keys</code>.</p>
12907
12929
 
12930
+
12908
12931
  </div>
12909
12932
 
12910
12933
  </div>
@@ -12954,6 +12977,7 @@ can be used for the same purpose in most cases.</p>
12954
12977
 
12955
12978
 
12956
12979
 
12980
+
12957
12981
  <div class="doc doc-children">
12958
12982
 
12959
12983
 
@@ -12980,6 +13004,7 @@ can be used for the same purpose in most cases.</p>
12980
13004
 
12981
13005
  <p>Automatic "slug" string derived from this model's natural key, suitable for use in URLs etc.</p>
12982
13006
  <p>A less naïve implementation than django-natural-keys provides by default, based around URL percent-encoding.</p>
13007
+
12983
13008
  </div>
12984
13009
 
12985
13010
  </div>
@@ -13005,6 +13030,7 @@ key in that it must be human-readable and comply with a very limited character s
13005
13030
  This value is not guaranteed to be
13006
13031
  unique although a best effort is made by appending a fragment of the primary key to the
13007
13032
  natural slug value.</p>
13033
+
13008
13034
  </div>
13009
13035
 
13010
13036
  </div>
@@ -13026,6 +13052,7 @@ natural slug value.</p>
13026
13052
  <div class="doc doc-contents ">
13027
13053
 
13028
13054
  <p>True if the record exists in the database, False if it does not.</p>
13055
+
13029
13056
  </div>
13030
13057
 
13031
13058
  </div>
@@ -13051,6 +13078,7 @@ natural slug value.</p>
13051
13078
  <p>Since CSV export for <code>natural_key_field_names</code> relies on database fields, you can override this method
13052
13079
  to provide custom handling for models with property-based natural keys.</p>
13053
13080
 
13081
+
13054
13082
  </div>
13055
13083
 
13056
13084
  </div>
@@ -13068,6 +13096,7 @@ to provide custom handling for models with property-based natural keys.</p>
13068
13096
 
13069
13097
  <p>Return the canonical URL for this object in either the UI or the REST API.</p>
13070
13098
 
13099
+
13071
13100
  </div>
13072
13101
 
13073
13102
  </div>
@@ -13089,6 +13118,7 @@ to provide custom handling for models with property-based natural keys.</p>
13089
13118
  <li>Handles variadic natural-keys (e.g. Location model - [name, parent__name, parent__parent__name, ...].)</li>
13090
13119
  </ol>
13091
13120
 
13121
+
13092
13122
  </div>
13093
13123
 
13094
13124
  </div>
@@ -13111,6 +13141,7 @@ to provide custom handling for models with property-based natural keys.</p>
13111
13141
  <p>Helper function to map a list of natural key field values to actual kwargs suitable for lookup and filtering.</p>
13112
13142
  <p>Based on <code>django-natural-keys</code> <code>NaturalKeyQuerySet.natural_key_kwargs()</code> method.</p>
13113
13143
 
13144
+
13114
13145
  </div>
13115
13146
 
13116
13147
  </div>
@@ -13134,6 +13165,7 @@ but you can also explicitly set <code>natural_key_field_names</code> on a given
13134
13165
  <p>Unlike <code>get_natural_key_def()</code>, this doesn't auto-exclude all AutoField and BigAutoField fields,
13135
13166
  but instead explicitly discounts the <code>id</code> field (only) as a candidate.</p>
13136
13167
 
13168
+
13137
13169
  </div>
13138
13170
 
13139
13171
  </div>
@@ -13157,6 +13189,7 @@ but is intended to offer an optional, simplified interface for performing this c
13157
13189
  workflow. The intended use is for user defined Jobs run via the <code>nautobot-server nbshell</code>
13158
13190
  command.</p>
13159
13191
 
13192
+
13160
13193
  </div>
13161
13194
 
13162
13195
  </div>
@@ -13196,6 +13229,7 @@ null to facilitate adding these fields to existing instances via a database migr
13196
13229
 
13197
13230
 
13198
13231
 
13232
+
13199
13233
  <div class="doc doc-children">
13200
13234
 
13201
13235
 
@@ -13219,6 +13253,7 @@ null to facilitate adding these fields to existing instances via a database migr
13219
13253
 
13220
13254
  <p>Return the changelog URL for this object.</p>
13221
13255
 
13256
+
13222
13257
  </div>
13223
13258
 
13224
13259
  </div>
@@ -13237,6 +13272,7 @@ null to facilitate adding these fields to existing instances via a database migr
13237
13272
  <p>Return a new ObjectChange representing a change made to this object, or None if the object shouldn't be logged.</p>
13238
13273
  <p>This will typically be called automatically by ChangeLoggingMiddleware.</p>
13239
13274
 
13275
+
13240
13276
  </div>
13241
13277
 
13242
13278
  </div>
@@ -13275,6 +13311,7 @@ null to facilitate adding these fields to existing instances via a database migr
13275
13311
 
13276
13312
 
13277
13313
 
13314
+
13278
13315
  <div class="doc doc-children">
13279
13316
 
13280
13317
 
@@ -13350,6 +13387,7 @@ ValueError: Conflicting values for key &quot;name&quot;: (&#39;Durham&#39;, &#39
13350
13387
 
13351
13388
 
13352
13389
 
13390
+
13353
13391
  <div class="doc doc-children">
13354
13392
 
13355
13393
 
@@ -13374,6 +13412,7 @@ ValueError: Conflicting values for key &quot;name&quot;: (&#39;Durham&#39;, &#39
13374
13412
  <p>Explicitly handle <code>exclude(composite_key="...")</code> by decomposing the composite-key into natural key parameters.</p>
13375
13413
  <p>Counterpart to BaseModel.composite_key property.</p>
13376
13414
 
13415
+
13377
13416
  </div>
13378
13417
 
13379
13418
  </div>
@@ -13392,6 +13431,7 @@ ValueError: Conflicting values for key &quot;name&quot;: (&#39;Durham&#39;, &#39
13392
13431
  <p>Explicitly handle <code>filter(composite_key="...")</code> by decomposing the composite-key into natural key parameters.</p>
13393
13432
  <p>Counterpart to BaseModel.composite_key property.</p>
13394
13433
 
13434
+
13395
13435
  </div>
13396
13436
 
13397
13437
  </div>
@@ -13410,6 +13450,7 @@ ValueError: Conflicting values for key &quot;name&quot;: (&#39;Durham&#39;, &#39
13410
13450
  <p>Helper method abstracting a common need from filter() and exclude().</p>
13411
13451
  <p>Subclasses may need to call this directly if they also have special processing of other filter/exclude params.</p>
13412
13452
 
13453
+
13413
13454
  </div>
13414
13455
 
13415
13456
  </div>
@@ -13435,7 +13476,7 @@ ValueError: Conflicting values for key &quot;name&quot;: (&#39;Durham&#39;, &#39
13435
13476
 
13436
13477
  <div class="doc doc-contents ">
13437
13478
  <p class="doc doc-class-bases">
13438
- Bases: <code><span title="django.db.models.Model">Model</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.models.ConfigContextSchemaValidationMixin" href="#nautobot.apps.models.ConfigContextSchemaValidationMixin">ConfigContextSchemaValidationMixin</a></code></p>
13479
+ Bases: <code><span title="django.db.models.Model">Model</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ConfigContextSchemaValidationMixin (nautobot.extras.models.models.ConfigContextSchemaValidationMixin)" href="#nautobot.apps.models.ConfigContextSchemaValidationMixin">ConfigContextSchemaValidationMixin</a></code></p>
13439
13480
 
13440
13481
 
13441
13482
  <p>A model which includes local configuration context data. This local data will override any inherited data from
@@ -13449,6 +13490,7 @@ ConfigContexts.</p>
13449
13490
 
13450
13491
 
13451
13492
 
13493
+
13452
13494
  <div class="doc doc-children">
13453
13495
 
13454
13496
 
@@ -13472,6 +13514,7 @@ ConfigContexts.</p>
13472
13514
 
13473
13515
  <p>Return the rendered configuration context for a device or VM.</p>
13474
13516
 
13517
+
13475
13518
  </div>
13476
13519
 
13477
13520
  </div>
@@ -13508,6 +13551,7 @@ ConfigContexts.</p>
13508
13551
 
13509
13552
 
13510
13553
 
13554
+
13511
13555
  <div class="doc doc-children">
13512
13556
 
13513
13557
 
@@ -13552,6 +13596,7 @@ ConfigContexts.</p>
13552
13596
 
13553
13597
 
13554
13598
 
13599
+
13555
13600
  <div class="doc doc-children">
13556
13601
 
13557
13602
 
@@ -13583,7 +13628,8 @@ ConfigContexts.</p>
13583
13628
 
13584
13629
  <div class="doc doc-contents ">
13585
13630
  <p class="doc doc-class-bases">
13586
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.querysets.RestrictedQuerySet" href="#nautobot.apps.models.RestrictedQuerySet">RestrictedQuerySet</a></code></p>
13631
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.RestrictedQuerySet (nautobot.core.models.querysets.RestrictedQuerySet)" href="#nautobot.apps.models.RestrictedQuerySet">RestrictedQuerySet</a></code></p>
13632
+
13587
13633
 
13588
13634
 
13589
13635
 
@@ -13617,6 +13663,7 @@ ConfigContexts.</p>
13617
13663
 
13618
13664
  <p>Return all <code>self.model</code> instances assigned to the given model.</p>
13619
13665
 
13666
+
13620
13667
  </div>
13621
13668
 
13622
13669
  </div>
@@ -13634,6 +13681,7 @@ ConfigContexts.</p>
13634
13681
 
13635
13682
  <p>Return all <code>self.model</code> instances assigned to the given <code>_models</code>.</p>
13636
13683
 
13684
+
13637
13685
  </div>
13638
13686
 
13639
13687
  </div>
@@ -13672,6 +13720,7 @@ ConfigContexts.</p>
13672
13720
 
13673
13721
 
13674
13722
 
13723
+
13675
13724
  <div class="doc doc-children">
13676
13725
 
13677
13726
 
@@ -13697,6 +13746,7 @@ ConfigContexts.</p>
13697
13746
  <div class="doc doc-contents ">
13698
13747
 
13699
13748
  <p>Convenience wrapper for custom field data.</p>
13749
+
13700
13750
  </div>
13701
13751
 
13702
13752
  </div>
@@ -13719,6 +13769,7 @@ ConfigContexts.</p>
13719
13769
 
13720
13770
  <p>Legacy interface to raw custom field data</p>
13721
13771
  <p>TODO(John): remove this entirely when the cf property is enhanced</p>
13772
+
13722
13773
  </div>
13723
13774
 
13724
13775
  </div>
@@ -13739,6 +13790,7 @@ ConfigContexts.</p>
13739
13790
  <p>Get a computed field for this model, lookup via key.
13740
13791
  Returns the template of this field if render is False, otherwise returns the rendered value.</p>
13741
13792
 
13793
+
13742
13794
  </div>
13743
13795
 
13744
13796
  </div>
@@ -13757,6 +13809,7 @@ Returns the template of this field if render is False, otherwise returns the ren
13757
13809
  <p>Return a dictionary of all computed fields and their rendered values for this model.
13758
13810
  Keys are the <code>key</code> value of each field. If label_as_key is True, <code>label</code> values of each field are used as keys.</p>
13759
13811
 
13812
+
13760
13813
  </div>
13761
13814
 
13762
13815
  </div>
@@ -13780,6 +13833,7 @@ Keys are the <code>key</code> value of each field. If label_as_key is True, <cod
13780
13833
  ...
13781
13834
  }</p>
13782
13835
 
13836
+
13783
13837
  </div>
13784
13838
 
13785
13839
  </div>
@@ -13805,6 +13859,7 @@ Return a dictonary of computed fields grouped by the same grouping in the form
13805
13859
  }
13806
13860
  which have advanced_ui set to True</p>
13807
13861
 
13862
+
13808
13863
  </div>
13809
13864
 
13810
13865
  </div>
@@ -13830,6 +13885,7 @@ Return a dictonary of computed fields grouped by the same grouping in the form
13830
13885
  }
13831
13886
  which have advanced_ui set to False</p>
13832
13887
 
13888
+
13833
13889
  </div>
13834
13890
 
13835
13891
  </div>
@@ -13853,6 +13909,7 @@ which have advanced_ui set to False</p>
13853
13909
  ...
13854
13910
  }</p>
13855
13911
 
13912
+
13856
13913
  </div>
13857
13914
 
13858
13915
  </div>
@@ -13878,6 +13935,7 @@ Return a dictonary of custom fields grouped by the same grouping in the form
13878
13935
  }
13879
13936
  which have advanced_ui set to True</p>
13880
13937
 
13938
+
13881
13939
  </div>
13882
13940
 
13883
13941
  </div>
@@ -13903,6 +13961,7 @@ Return a dictonary of custom fields grouped by the same grouping in the form
13903
13961
  }
13904
13962
  which have advanced_ui set to False</p>
13905
13963
 
13964
+
13906
13965
  </div>
13907
13966
 
13908
13967
  </div>
@@ -13920,6 +13979,7 @@ which have advanced_ui set to False</p>
13920
13979
 
13921
13980
  <p>Return a dictionary of custom fields for a single object in the form {<field>: value}.</p>
13922
13981
 
13982
+
13923
13983
  </div>
13924
13984
 
13925
13985
  </div>
@@ -13939,6 +13999,7 @@ which have advanced_ui set to False</p>
13939
13999
  Return a dictionary of custom fields for a single object in the form {<field>: value}
13940
14000
  which have advanced_ui set to True</p>
13941
14001
 
14002
+
13942
14003
  </div>
13943
14004
 
13944
14005
  </div>
@@ -13958,6 +14019,7 @@ which have advanced_ui set to True</p>
13958
14019
  Return a dictionary of custom fields for a single object in the form {<field>: value}
13959
14020
  which have advanced_ui set to False</p>
13960
14021
 
14022
+
13961
14023
  </div>
13962
14024
 
13963
14025
  </div>
@@ -13976,6 +14038,7 @@ which have advanced_ui set to False</p>
13976
14038
  <p>Return a boolean indicating whether or not this content type has computed fields associated with it.
13977
14039
  This can also check whether the advanced_ui attribute is True or False for UI display purposes.</p>
13978
14040
 
14041
+
13979
14042
  </div>
13980
14043
 
13981
14044
  </div>
@@ -14017,6 +14080,7 @@ should be set as a string in the form <code>&lt;app_label&gt;.&lt;model_name&gt;
14017
14080
 
14018
14081
 
14019
14082
 
14083
+
14020
14084
  <div class="doc doc-children">
14021
14085
 
14022
14086
 
@@ -14043,6 +14107,7 @@ with the <code>object</code> key within <code>self.context</code>, e.g. <code>se
14043
14107
  prevent saving model instance changes, and propagate messages to the user. For convenience,
14044
14108
  <code>self.validation_error(&lt;message&gt;)</code> may be called to raise a ValidationError.</p>
14045
14109
 
14110
+
14046
14111
  </div>
14047
14112
 
14048
14113
  </div>
@@ -14061,6 +14126,7 @@ prevent saving model instance changes, and propagate messages to the user. For c
14061
14126
  <p>Convenience method for raising <code>django.core.exceptions.ValidationError</code> which is required in order to
14062
14127
  trigger validation error messages which are propagated to the user.</p>
14063
14128
 
14129
+
14064
14130
  </div>
14065
14131
 
14066
14132
  </div>
@@ -14106,6 +14172,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14106
14172
 
14107
14173
 
14108
14174
 
14175
+
14109
14176
  <div class="doc doc-children">
14110
14177
 
14111
14178
 
@@ -14131,6 +14198,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14131
14198
  <div class="doc doc-contents ">
14132
14199
 
14133
14200
  <p>Return a queryset of (cached) <code>DynamicGroup</code> objects this instance is a member of.</p>
14201
+
14134
14202
  </div>
14135
14203
 
14136
14204
  </div>
@@ -14152,6 +14220,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14152
14220
  <div class="doc doc-contents ">
14153
14221
 
14154
14222
  <p>Deprecated - use <code>self.dynamic_groups</code> instead.</p>
14223
+
14155
14224
  </div>
14156
14225
 
14157
14226
  </div>
@@ -14173,6 +14242,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14173
14242
  <div class="doc doc-contents ">
14174
14243
 
14175
14244
  <p>Deprecated - use <code>list(self.dynamic_groups)</code> instead.</p>
14245
+
14176
14246
  </div>
14177
14247
 
14178
14248
  </div>
@@ -14194,6 +14264,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14194
14264
  <div class="doc doc-contents ">
14195
14265
 
14196
14266
  <p>Deprecated - use <code>list(self.dynamic_groups)</code> instead.</p>
14267
+
14197
14268
  </div>
14198
14269
 
14199
14270
  </div>
@@ -14213,6 +14284,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14213
14284
 
14214
14285
  <p>Return the dynamic groups URL for a given instance.</p>
14215
14286
 
14287
+
14216
14288
  </div>
14217
14289
 
14218
14290
  </div>
@@ -14238,7 +14310,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14238
14310
 
14239
14311
  <div class="doc doc-contents ">
14240
14312
  <p class="doc doc-class-bases">
14241
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.DynamicGroupMixin" href="#nautobot.apps.models.DynamicGroupMixin">DynamicGroupMixin</a></code>, <code><span title="django.db.models.Model">Model</span></code></p>
14313
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.DynamicGroupMixin (nautobot.extras.models.mixins.DynamicGroupMixin)" href="#nautobot.apps.models.DynamicGroupMixin">DynamicGroupMixin</a></code>, <code><span title="django.db.models.Model">Model</span></code></p>
14242
14314
 
14243
14315
 
14244
14316
  <p>Add this to models to make them fully support Dynamic Groups.</p>
@@ -14251,6 +14323,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14251
14323
 
14252
14324
 
14253
14325
 
14326
+
14254
14327
  <div class="doc doc-children">
14255
14328
 
14256
14329
 
@@ -14282,7 +14355,7 @@ to the new DynamicGroupsModelMixin in its place.</p>
14282
14355
 
14283
14356
  <div class="doc doc-contents ">
14284
14357
  <p class="doc doc-class-bases">
14285
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.query_functions.JSONBAgg" href="#nautobot.apps.models.JSONBAgg">JSONBAgg</a></code></p>
14358
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.JSONBAgg (nautobot.core.models.query_functions.JSONBAgg)" href="#nautobot.apps.models.JSONBAgg">JSONBAgg</a></code></p>
14286
14359
 
14287
14360
 
14288
14361
  <p>JSONBAgg is a builtin aggregation function which means it includes the use of a GROUP BY clause.
@@ -14297,6 +14370,7 @@ incorrect. This subclass overrides the Django ORM aggregation control to remove
14297
14370
 
14298
14371
 
14299
14372
 
14373
+
14300
14374
  <div class="doc doc-children">
14301
14375
 
14302
14376
 
@@ -14342,6 +14416,7 @@ schemes specified in the configuration.</p>
14342
14416
 
14343
14417
 
14344
14418
 
14419
+
14345
14420
  <div class="doc doc-children">
14346
14421
 
14347
14422
 
@@ -14365,6 +14440,7 @@ schemes specified in the configuration.</p>
14365
14440
 
14366
14441
  <p>Dynamically fetch schemes each time it's accessed.</p>
14367
14442
 
14443
+
14368
14444
  </div>
14369
14445
 
14370
14446
  </div>
@@ -14403,6 +14479,7 @@ schemes specified in the configuration.</p>
14403
14479
 
14404
14480
 
14405
14481
 
14482
+
14406
14483
  <div class="doc doc-children">
14407
14484
 
14408
14485
 
@@ -14434,7 +14511,7 @@ schemes specified in the configuration.</p>
14434
14511
 
14435
14512
  <div class="doc doc-contents ">
14436
14513
  <p class="doc doc-class-bases">
14437
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.fields.ForeignKeyWithAutoRelatedName" href="#nautobot.apps.models.ForeignKeyWithAutoRelatedName">ForeignKeyWithAutoRelatedName</a></code></p>
14514
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ForeignKeyWithAutoRelatedName (nautobot.core.models.fields.ForeignKeyWithAutoRelatedName)" href="#nautobot.apps.models.ForeignKeyWithAutoRelatedName">ForeignKeyWithAutoRelatedName</a></code></p>
14438
14515
 
14439
14516
 
14440
14517
  <p>An abstract model field that automatically restricts ForeignKey options based on content_types.</p>
@@ -14459,6 +14536,7 @@ while role_1 &amp; role_2 are both available for the Location model.</p>
14459
14536
 
14460
14537
 
14461
14538
 
14539
+
14462
14540
  <div class="doc doc-children">
14463
14541
 
14464
14542
 
@@ -14482,6 +14560,7 @@ while role_1 &amp; role_2 are both available for the Location model.</p>
14482
14560
 
14483
14561
  <p>Return a prepped formfield for use in model forms.</p>
14484
14562
 
14563
+
14485
14564
  </div>
14486
14565
 
14487
14566
  </div>
@@ -14503,6 +14582,7 @@ rather than via the more obvious <code>content_types=ContentType.objects.get_for
14503
14582
  because the latter approach would involve a database query, and in some cases
14504
14583
  (most notably FilterSet definition) this function is called <strong>before</strong> database migrations can be run.</p>
14505
14584
 
14585
+
14506
14586
  </div>
14507
14587
 
14508
14588
  </div>
@@ -14544,6 +14624,7 @@ because the latter approach would involve a database query, and in some cases
14544
14624
 
14545
14625
 
14546
14626
 
14627
+
14547
14628
  <div class="doc doc-children">
14548
14629
 
14549
14630
 
@@ -14590,6 +14671,7 @@ Replicates ArrayField's base field validation.</p>
14590
14671
 
14591
14672
 
14592
14673
 
14674
+
14593
14675
  <div class="doc doc-children">
14594
14676
 
14595
14677
 
@@ -14625,6 +14707,7 @@ Replicates ArrayField's base field validation.</p>
14625
14707
  <li>A dict of keyword arguments.</li>
14626
14708
  </ul>
14627
14709
  </details>
14710
+
14628
14711
  </div>
14629
14712
 
14630
14713
  </div>
@@ -14642,6 +14725,7 @@ Replicates ArrayField's base field validation.</p>
14642
14725
 
14643
14726
  <p>Return a django.forms.Field instance for this field.</p>
14644
14727
 
14728
+
14645
14729
  </div>
14646
14730
 
14647
14731
  </div>
@@ -14659,6 +14743,7 @@ Replicates ArrayField's base field validation.</p>
14659
14743
 
14660
14744
  <p>Perform preliminary non-db specific value checks and conversions.</p>
14661
14745
 
14746
+
14662
14747
  </div>
14663
14748
 
14664
14749
  </div>
@@ -14677,6 +14762,7 @@ Replicates ArrayField's base field validation.</p>
14677
14762
  <p>Runs all validators against <code>value</code> and raise ValidationError if necessary.
14678
14763
  Some validators can't be created at field initialization time.</p>
14679
14764
 
14765
+
14680
14766
  </div>
14681
14767
 
14682
14768
  </div>
@@ -14695,6 +14781,7 @@ Some validators can't be created at field initialization time.</p>
14695
14781
  <p>Convert <code>value</code> into JSON, raising django.core.exceptions.ValidationError
14696
14782
  if the data can't be converted. Return the converted value.</p>
14697
14783
 
14784
+
14698
14785
  </div>
14699
14786
 
14700
14787
  </div>
@@ -14712,6 +14799,7 @@ if the data can't be converted. Return the converted value.</p>
14712
14799
 
14713
14800
  <p>Validate <code>value</code> and raise ValidationError if necessary.</p>
14714
14801
 
14802
+
14715
14803
  </div>
14716
14804
 
14717
14805
  </div>
@@ -14730,6 +14818,7 @@ if the data can't be converted. Return the converted value.</p>
14730
14818
  <p>Return a string value of this field from the passed obj.
14731
14819
  This is used by the serialization framework.</p>
14732
14820
 
14821
+
14733
14822
  </div>
14734
14823
 
14735
14824
  </div>
@@ -14772,6 +14861,7 @@ This is used by the serialization framework.</p>
14772
14861
 
14773
14862
 
14774
14863
 
14864
+
14775
14865
  <div class="doc doc-children">
14776
14866
 
14777
14867
 
@@ -14816,6 +14906,7 @@ This is used by the serialization framework.</p>
14816
14906
 
14817
14907
 
14818
14908
 
14909
+
14819
14910
  <div class="doc doc-children">
14820
14911
 
14821
14912
 
@@ -14847,7 +14938,7 @@ This is used by the serialization framework.</p>
14847
14938
 
14848
14939
  <div class="doc doc-contents ">
14849
14940
  <p class="doc doc-class-bases">
14850
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.change_logging.ChangeLoggedModel" href="#nautobot.apps.models.ChangeLoggedModel">ChangeLoggedModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.ContactMixin" href="#nautobot.apps.models.ContactMixin">ContactMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.customfields.CustomFieldModel" href="#nautobot.apps.models.CustomFieldModel">CustomFieldModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.DynamicGroupsModelMixin" href="#nautobot.apps.models.DynamicGroupsModelMixin">DynamicGroupsModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.NotesMixin" href="#nautobot.apps.models.NotesMixin">NotesMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.relationships.RelationshipModel" href="#nautobot.apps.models.RelationshipModel">RelationshipModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.SavedViewMixin" href="#nautobot.apps.models.SavedViewMixin">SavedViewMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a></code></p>
14941
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ChangeLoggedModel (nautobot.extras.models.change_logging.ChangeLoggedModel)" href="#nautobot.apps.models.ChangeLoggedModel">ChangeLoggedModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ContactMixin (nautobot.extras.models.mixins.ContactMixin)" href="#nautobot.apps.models.ContactMixin">ContactMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.CustomFieldModel (nautobot.extras.models.customfields.CustomFieldModel)" href="#nautobot.apps.models.CustomFieldModel">CustomFieldModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.DynamicGroupsModelMixin (nautobot.extras.models.mixins.DynamicGroupsModelMixin)" href="#nautobot.apps.models.DynamicGroupsModelMixin">DynamicGroupsModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.NotesMixin (nautobot.extras.models.mixins.NotesMixin)" href="#nautobot.apps.models.NotesMixin">NotesMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.RelationshipModel (nautobot.extras.models.relationships.RelationshipModel)" href="#nautobot.apps.models.RelationshipModel">RelationshipModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.SavedViewMixin (nautobot.extras.models.mixins.SavedViewMixin)" href="#nautobot.apps.models.SavedViewMixin">SavedViewMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.BaseModel (nautobot.core.models.BaseModel)" href="#nautobot.apps.models.BaseModel">BaseModel</a></code></p>
14851
14942
 
14852
14943
 
14853
14944
  <p>This abstract base properties model contains fields and functionality that are
@@ -14861,6 +14952,7 @@ shared amongst models that requires these fields: name, color, content_types and
14861
14952
 
14862
14953
 
14863
14954
 
14955
+
14864
14956
  <div class="doc doc-children">
14865
14957
 
14866
14958
 
@@ -14907,6 +14999,7 @@ shared amongst models that requires these fields: name, color, content_types and
14907
14999
 
14908
15000
 
14909
15001
 
15002
+
14910
15003
  <div class="doc doc-children">
14911
15004
 
14912
15005
 
@@ -14930,6 +15023,7 @@ shared amongst models that requires these fields: name, color, content_types and
14930
15023
 
14931
15024
  <p>Generate a naturalized value from the target field</p>
14932
15025
 
15026
+
14933
15027
  </div>
14934
15028
 
14935
15029
  </div>
@@ -14966,6 +15060,7 @@ shared amongst models that requires these fields: name, color, content_types and
14966
15060
 
14967
15061
 
14968
15062
 
15063
+
14969
15064
  <div class="doc doc-children">
14970
15065
 
14971
15066
 
@@ -14991,6 +15086,7 @@ shared amongst models that requires these fields: name, color, content_types and
14991
15086
  <div class="doc doc-contents ">
14992
15087
 
14993
15088
  <p>Return a <code>Notes</code> queryset for this instance.</p>
15089
+
14994
15090
  </div>
14995
15091
 
14996
15092
  </div>
@@ -15010,6 +15106,7 @@ shared amongst models that requires these fields: name, color, content_types and
15010
15106
 
15011
15107
  <p>Return the notes URL for a given instance.</p>
15012
15108
 
15109
+
15013
15110
  </div>
15014
15111
 
15015
15112
  </div>
@@ -15035,7 +15132,7 @@ shared amongst models that requires these fields: name, color, content_types and
15035
15132
 
15036
15133
  <div class="doc doc-contents ">
15037
15134
  <p class="doc doc-class-bases">
15038
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.change_logging.ChangeLoggedModel" href="#nautobot.apps.models.ChangeLoggedModel">ChangeLoggedModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.ContactMixin" href="#nautobot.apps.models.ContactMixin">ContactMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.customfields.CustomFieldModel" href="#nautobot.apps.models.CustomFieldModel">CustomFieldModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.DynamicGroupsModelMixin" href="#nautobot.apps.models.DynamicGroupsModelMixin">DynamicGroupsModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.NotesMixin" href="#nautobot.apps.models.NotesMixin">NotesMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.relationships.RelationshipModel" href="#nautobot.apps.models.RelationshipModel">RelationshipModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.SavedViewMixin" href="#nautobot.apps.models.SavedViewMixin">SavedViewMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a></code></p>
15135
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ChangeLoggedModel (nautobot.extras.models.change_logging.ChangeLoggedModel)" href="#nautobot.apps.models.ChangeLoggedModel">ChangeLoggedModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ContactMixin (nautobot.extras.models.mixins.ContactMixin)" href="#nautobot.apps.models.ContactMixin">ContactMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.CustomFieldModel (nautobot.extras.models.customfields.CustomFieldModel)" href="#nautobot.apps.models.CustomFieldModel">CustomFieldModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.DynamicGroupsModelMixin (nautobot.extras.models.mixins.DynamicGroupsModelMixin)" href="#nautobot.apps.models.DynamicGroupsModelMixin">DynamicGroupsModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.NotesMixin (nautobot.extras.models.mixins.NotesMixin)" href="#nautobot.apps.models.NotesMixin">NotesMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.RelationshipModel (nautobot.extras.models.relationships.RelationshipModel)" href="#nautobot.apps.models.RelationshipModel">RelationshipModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.SavedViewMixin (nautobot.extras.models.mixins.SavedViewMixin)" href="#nautobot.apps.models.SavedViewMixin">SavedViewMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.BaseModel (nautobot.core.models.BaseModel)" href="#nautobot.apps.models.BaseModel">BaseModel</a></code></p>
15039
15136
 
15040
15137
 
15041
15138
  <p>Base abstract model for all organizational models.</p>
@@ -15053,6 +15150,7 @@ Device Role, Rack Group, Status, Manufacturer, and Platform.</p>
15053
15150
 
15054
15151
 
15055
15152
 
15153
+
15056
15154
  <div class="doc doc-children">
15057
15155
 
15058
15156
 
@@ -15084,7 +15182,7 @@ Device Role, Rack Group, Status, Manufacturer, and Platform.</p>
15084
15182
 
15085
15183
  <div class="doc doc-contents ">
15086
15184
  <p class="doc doc-class-bases">
15087
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.change_logging.ChangeLoggedModel" href="#nautobot.apps.models.ChangeLoggedModel">ChangeLoggedModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.ContactMixin" href="#nautobot.apps.models.ContactMixin">ContactMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.customfields.CustomFieldModel" href="#nautobot.apps.models.CustomFieldModel">CustomFieldModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.DynamicGroupsModelMixin" href="#nautobot.apps.models.DynamicGroupsModelMixin">DynamicGroupsModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.NotesMixin" href="#nautobot.apps.models.NotesMixin">NotesMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.relationships.RelationshipModel" href="#nautobot.apps.models.RelationshipModel">RelationshipModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.models.mixins.SavedViewMixin" href="#nautobot.apps.models.SavedViewMixin">SavedViewMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a></code></p>
15185
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ChangeLoggedModel (nautobot.extras.models.change_logging.ChangeLoggedModel)" href="#nautobot.apps.models.ChangeLoggedModel">ChangeLoggedModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ContactMixin (nautobot.extras.models.mixins.ContactMixin)" href="#nautobot.apps.models.ContactMixin">ContactMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.CustomFieldModel (nautobot.extras.models.customfields.CustomFieldModel)" href="#nautobot.apps.models.CustomFieldModel">CustomFieldModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.DynamicGroupsModelMixin (nautobot.extras.models.mixins.DynamicGroupsModelMixin)" href="#nautobot.apps.models.DynamicGroupsModelMixin">DynamicGroupsModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.NotesMixin (nautobot.extras.models.mixins.NotesMixin)" href="#nautobot.apps.models.NotesMixin">NotesMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.RelationshipModel (nautobot.extras.models.relationships.RelationshipModel)" href="#nautobot.apps.models.RelationshipModel">RelationshipModel</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.SavedViewMixin (nautobot.extras.models.mixins.SavedViewMixin)" href="#nautobot.apps.models.SavedViewMixin">SavedViewMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.BaseModel (nautobot.core.models.BaseModel)" href="#nautobot.apps.models.BaseModel">BaseModel</a></code></p>
15088
15186
 
15089
15187
 
15090
15188
  <p>Base abstract model for all primary models.</p>
@@ -15101,6 +15199,7 @@ tangible or logical resources on the network, or within the organization.</p>
15101
15199
 
15102
15200
 
15103
15201
 
15202
+
15104
15203
  <div class="doc doc-children">
15105
15204
 
15106
15205
 
@@ -15145,6 +15244,7 @@ tangible or logical resources on the network, or within the organization.</p>
15145
15244
 
15146
15245
 
15147
15246
 
15247
+
15148
15248
  <div class="doc doc-children">
15149
15249
 
15150
15250
 
@@ -15180,7 +15280,7 @@ tangible or logical resources on the network, or within the organization.</p>
15180
15280
  <tbody>
15181
15281
  <tr class="doc-section-item">
15182
15282
  <td>
15183
- <code>dict</code>
15283
+ <code><span title="dict">dict</span></code>
15184
15284
  </td>
15185
15285
  <td>
15186
15286
  <div class="doc-md-description">
@@ -15204,6 +15304,7 @@ tangible or logical resources on the network, or within the organization.</p>
15204
15304
  </tbody>
15205
15305
  </table>
15206
15306
 
15307
+
15207
15308
  </div>
15208
15309
 
15209
15310
  </div>
@@ -15234,7 +15335,7 @@ tangible or logical resources on the network, or within the organization.</p>
15234
15335
  <tbody>
15235
15336
  <tr class="doc-section-item">
15236
15337
  <td>
15237
- <code>dict</code>
15338
+ <code><span title="dict">dict</span></code>
15238
15339
  </td>
15239
15340
  <td>
15240
15341
  <div class="doc-md-description">
@@ -15268,6 +15369,7 @@ tangible or logical resources on the network, or within the organization.</p>
15268
15369
  </tbody>
15269
15370
  </table>
15270
15371
 
15372
+
15271
15373
  </div>
15272
15374
 
15273
15375
  </div>
@@ -15286,6 +15388,7 @@ tangible or logical resources on the network, or within the organization.</p>
15286
15388
  <p>Same docstring as get_relationships_data() above except this only returns relationships
15287
15389
  where advanced_ui==True for displaying in the 'Advanced' tab on the object's page</p>
15288
15390
 
15391
+
15289
15392
  </div>
15290
15393
 
15291
15394
  </div>
@@ -15304,6 +15407,7 @@ where advanced_ui==True for displaying in the 'Advanced' tab on the object's pag
15304
15407
  <p>Same docstring as get_relationships_data() above except this only returns relationships
15305
15408
  where advanced_ui==False for displaying in the main object detail tab on the object's page</p>
15306
15409
 
15410
+
15307
15411
  </div>
15308
15412
 
15309
15413
  </div>
@@ -15321,6 +15425,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15321
15425
 
15322
15426
  <p>Alternative version of get_relationships().</p>
15323
15427
 
15428
+
15324
15429
  </div>
15325
15430
 
15326
15431
  </div>
@@ -15358,7 +15463,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15358
15463
  <code>output_for</code>
15359
15464
  </td>
15360
15465
  <td>
15361
- <code>str</code>
15466
+ <code><span title="str">str</span></code>
15362
15467
  </td>
15363
15468
  <td>
15364
15469
  <div class="doc-md-description">
@@ -15374,7 +15479,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15374
15479
  <code>initial_data</code>
15375
15480
  </td>
15376
15481
  <td>
15377
- <code>dict</code>
15482
+ <code><span title="dict">dict</span></code>
15378
15483
  </td>
15379
15484
  <td>
15380
15485
  <div class="doc-md-description">
@@ -15390,7 +15495,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15390
15495
  <code>relationships_key_specified</code>
15391
15496
  </td>
15392
15497
  <td>
15393
- <code>bool</code>
15498
+ <code><span title="bool">bool</span></code>
15394
15499
  </td>
15395
15500
  <td>
15396
15501
  <div class="doc-md-description">
@@ -15406,7 +15511,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15406
15511
  <code>instance</code>
15407
15512
  </td>
15408
15513
  <td>
15409
- <code>Optional[<a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
15514
+ <code><span title="Optional">Optional</span>[<a class="autorefs autorefs-internal" title="nautobot.apps.models.BaseModel (nautobot.core.models.BaseModel)" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
15410
15515
  </td>
15411
15516
  <td>
15412
15517
  <div class="doc-md-description">
@@ -15422,6 +15527,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15422
15527
  <p>Returns:
15423
15528
  (list[dict]): List of field error dicts if any are found</p>
15424
15529
 
15530
+
15425
15531
  </div>
15426
15532
 
15427
15533
  </div>
@@ -15447,7 +15553,8 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15447
15553
 
15448
15554
  <div class="doc doc-contents ">
15449
15555
  <p class="doc doc-class-bases">
15450
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.querysets.CompositeKeyQuerySetMixin" href="#nautobot.apps.models.CompositeKeyQuerySetMixin">CompositeKeyQuerySetMixin</a></code>, <code><span title="django.db.models.QuerySet">QuerySet</span></code></p>
15556
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.CompositeKeyQuerySetMixin (nautobot.core.models.querysets.CompositeKeyQuerySetMixin)" href="#nautobot.apps.models.CompositeKeyQuerySetMixin">CompositeKeyQuerySetMixin</a></code>, <code><span title="django.db.models.QuerySet">QuerySet</span></code></p>
15557
+
15451
15558
 
15452
15559
 
15453
15560
 
@@ -15499,7 +15606,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15499
15606
  <code>user</code>
15500
15607
  </td>
15501
15608
  <td>
15502
- <code>User</code>
15609
+ <code><span title="User">User</span></code>
15503
15610
  </td>
15504
15611
  <td>
15505
15612
  <div class="doc-md-description">
@@ -15531,7 +15638,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15531
15638
  <code>pk</code>
15532
15639
  </td>
15533
15640
  <td>
15534
- <code>uuid</code>
15641
+ <code><span title="uuid">uuid</span></code>
15535
15642
  </td>
15536
15643
  <td>
15537
15644
  <div class="doc-md-description">
@@ -15547,7 +15654,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15547
15654
  <code>action</code>
15548
15655
  </td>
15549
15656
  <td>
15550
- <code>str</code>
15657
+ <code><span title="str">str</span></code>
15551
15658
  </td>
15552
15659
  <td>
15553
15660
  <div class="doc-md-description">
@@ -15573,7 +15680,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15573
15680
  <tbody>
15574
15681
  <tr class="doc-section-item">
15575
15682
  <td>
15576
- <code>bool</code>
15683
+ <code><span title="bool">bool</span></code>
15577
15684
  </td>
15578
15685
  <td>
15579
15686
  <div class="doc-md-description">
@@ -15584,6 +15691,7 @@ where advanced_ui==False for displaying in the main object detail tab on the obj
15584
15691
  </tbody>
15585
15692
  </table>
15586
15693
 
15694
+
15587
15695
  </div>
15588
15696
 
15589
15697
  </div>
@@ -15624,7 +15732,7 @@ in the Django <code>distinct()</code> documentation at https://docs.djangoprojec
15624
15732
  <code>*fields</code>
15625
15733
  </td>
15626
15734
  <td>
15627
- <code>str</code>
15735
+ <code><span title="str">str</span></code>
15628
15736
  </td>
15629
15737
  <td>
15630
15738
  <div class="doc-md-description">
@@ -15640,7 +15748,7 @@ in the Django <code>distinct()</code> documentation at https://docs.djangoprojec
15640
15748
  <code>flat</code>
15641
15749
  </td>
15642
15750
  <td>
15643
- <code>bool</code>
15751
+ <code><span title="bool">bool</span></code>
15644
15752
  </td>
15645
15753
  <td>
15646
15754
  <div class="doc-md-description">
@@ -15657,7 +15765,7 @@ Defaults to False.</p>
15657
15765
  <code>named</code>
15658
15766
  </td>
15659
15767
  <td>
15660
- <code>bool</code>
15768
+ <code><span title="bool">bool</span></code>
15661
15769
  </td>
15662
15770
  <td>
15663
15771
  <div class="doc-md-description">
@@ -15694,6 +15802,7 @@ Defaults to False.</p>
15694
15802
  </tbody>
15695
15803
  </table>
15696
15804
 
15805
+
15697
15806
  </div>
15698
15807
 
15699
15808
  </div>
@@ -15714,6 +15823,7 @@ permission.</p>
15714
15823
  <p>:param user: User instance
15715
15824
  :param action: The action which must be permitted (e.g. "view" for "dcim.view_location"); default is 'view'</p>
15716
15825
 
15826
+
15717
15827
  </div>
15718
15828
 
15719
15829
  </div>
@@ -15752,6 +15862,7 @@ permission.</p>
15752
15862
 
15753
15863
 
15754
15864
 
15865
+
15755
15866
  <div class="doc doc-children">
15756
15867
 
15757
15868
 
@@ -15783,7 +15894,7 @@ permission.</p>
15783
15894
 
15784
15895
  <div class="doc doc-contents ">
15785
15896
  <p class="doc doc-class-bases">
15786
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.models.fields.ForeignKeyLimitedByContentTypes" href="#nautobot.apps.models.ForeignKeyLimitedByContentTypes">ForeignKeyLimitedByContentTypes</a></code></p>
15897
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.ForeignKeyLimitedByContentTypes (nautobot.core.models.fields.ForeignKeyLimitedByContentTypes)" href="#nautobot.apps.models.ForeignKeyLimitedByContentTypes">ForeignKeyLimitedByContentTypes</a></code></p>
15787
15898
 
15788
15899
 
15789
15900
  <p>Model database field that automatically limits custom choices.</p>
@@ -15799,6 +15910,7 @@ permission.</p>
15799
15910
 
15800
15911
 
15801
15912
 
15913
+
15802
15914
  <div class="doc doc-children">
15803
15915
 
15804
15916
 
@@ -15829,6 +15941,7 @@ methods are hooked in. So in short this method asserts that any time a
15829
15941
  <code>.get_status_display()</code> and a <code>.get_status_color()</code> method without
15830
15942
  having to define it on the model yourself.</p>
15831
15943
 
15944
+
15832
15945
  </div>
15833
15946
 
15834
15947
  </div>
@@ -15868,6 +15981,7 @@ having to define it on the model yourself.</p>
15868
15981
 
15869
15982
 
15870
15983
 
15984
+
15871
15985
  <div class="doc doc-children">
15872
15986
 
15873
15987
 
@@ -15912,6 +16026,7 @@ having to define it on the model yourself.</p>
15912
16026
 
15913
16027
 
15914
16028
 
16029
+
15915
16030
  <div class="doc doc-children">
15916
16031
 
15917
16032
 
@@ -15943,7 +16058,7 @@ having to define it on the model yourself.</p>
15943
16058
 
15944
16059
  <div class="doc doc-contents ">
15945
16060
  <p class="doc doc-class-bases">
15946
- Bases: <code><span title="taggit.managers._TaggableManager">_TaggableManager</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.models.managers.BaseManager" href="#nautobot.apps.models.BaseManager">BaseManager</a></code></p>
16061
+ Bases: <code><span title="taggit.managers._TaggableManager">_TaggableManager</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.BaseManager (nautobot.core.models.managers.BaseManager)" href="#nautobot.apps.models.BaseManager">BaseManager</a></code></p>
15947
16062
 
15948
16063
 
15949
16064
  <p>Manager class for model 'tags' fields.</p>
@@ -15956,6 +16071,7 @@ having to define it on the model yourself.</p>
15956
16071
 
15957
16072
 
15958
16073
 
16074
+
15959
16075
  <div class="doc doc-children">
15960
16076
 
15961
16077
 
@@ -15987,7 +16103,7 @@ having to define it on the model yourself.</p>
15987
16103
 
15988
16104
  <div class="doc doc-contents ">
15989
16105
  <p class="doc doc-class-bases">
15990
- Bases: <code><span title="tree_queries.query.TreeManager">TreeManager</span></code>, <code><span title="nautobot.core.models.BaseManager.from_queryset">from_queryset</span>(<a class="autorefs autorefs-internal" title="nautobot.core.models.tree_queries.TreeQuerySet" href="#nautobot.apps.models.TreeQuerySet">TreeQuerySet</a>)</code></p>
16106
+ Bases: <code><span title="tree_queries.query.TreeManager">TreeManager</span></code>, <code><span title="nautobot.core.models.BaseManager.from_queryset">from_queryset</span>(<a class="autorefs autorefs-internal" title="nautobot.apps.models.TreeQuerySet (nautobot.core.models.tree_queries.TreeQuerySet)" href="#nautobot.apps.models.TreeQuerySet">TreeQuerySet</a>)</code></p>
15991
16107
 
15992
16108
 
15993
16109
  <p>Extend django-tree-queries' TreeManager to incorporate RestrictedQuerySet.</p>
@@ -16000,6 +16116,7 @@ having to define it on the model yourself.</p>
16000
16116
 
16001
16117
 
16002
16118
 
16119
+
16003
16120
  <div class="doc doc-children">
16004
16121
 
16005
16122
 
@@ -16026,6 +16143,7 @@ having to define it on the model yourself.</p>
16026
16143
 
16027
16144
  <p>Cacheable version of <code>TreeQuerySet.max_tree_depth()</code>.</p>
16028
16145
  <p>Generally TreeManagers are persistent objects while TreeQuerySets are not, hence the difference in behavior.</p>
16146
+
16029
16147
  </div>
16030
16148
 
16031
16149
  </div>
@@ -16066,6 +16184,7 @@ having to define it on the model yourself.</p>
16066
16184
 
16067
16185
 
16068
16186
 
16187
+
16069
16188
  <div class="doc doc-children">
16070
16189
 
16071
16190
 
@@ -16092,6 +16211,7 @@ having to define it on the model yourself.</p>
16092
16211
 
16093
16212
  <p>By default, TreeModels display their full ancestry for clarity.</p>
16094
16213
  <p>As this is an expensive thing to calculate, we cache it for a few seconds in the case of repeated lookups.</p>
16214
+
16095
16215
  </div>
16096
16216
 
16097
16217
  </div>
@@ -16119,7 +16239,7 @@ having to define it on the model yourself.</p>
16119
16239
 
16120
16240
  <div class="doc doc-contents ">
16121
16241
  <p class="doc doc-class-bases">
16122
- Bases: <code><span title="tree_queries.query.TreeQuerySet">TreeQuerySet</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.models.querysets.RestrictedQuerySet" href="#nautobot.apps.models.RestrictedQuerySet">RestrictedQuerySet</a></code></p>
16242
+ Bases: <code><span title="tree_queries.query.TreeQuerySet">TreeQuerySet</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.models.RestrictedQuerySet (nautobot.core.models.querysets.RestrictedQuerySet)" href="#nautobot.apps.models.RestrictedQuerySet">RestrictedQuerySet</a></code></p>
16123
16243
 
16124
16244
 
16125
16245
  <p>Combine django-tree-queries' TreeQuerySet with our RestrictedQuerySet for permissions enforcement.</p>
@@ -16132,6 +16252,7 @@ having to define it on the model yourself.</p>
16132
16252
 
16133
16253
 
16134
16254
 
16255
+
16135
16256
  <div class="doc doc-children">
16136
16257
 
16137
16258
 
@@ -16157,6 +16278,29 @@ having to define it on the model yourself.</p>
16157
16278
  <p>Dynamically computes ancestors either through the tree or through the <code>parent</code> foreign key depending on whether
16158
16279
  tree fields are present on <code>of</code>.</p>
16159
16280
 
16281
+
16282
+ </div>
16283
+
16284
+ </div>
16285
+
16286
+ <div class="doc doc-object doc-function">
16287
+
16288
+
16289
+ <h3 id="nautobot.apps.models.TreeQuerySet.count" class="doc doc-heading">
16290
+ <code class="highlight language-python"><span class="n">count</span><span class="p">()</span></code>
16291
+
16292
+ <a href="#nautobot.apps.models.TreeQuerySet.count" class="headerlink" title="Permanent link">&para;</a></h3>
16293
+
16294
+
16295
+ <div class="doc doc-contents ">
16296
+
16297
+ <p>Custom count method for optimization purposes.</p>
16298
+ <p>TreeQuerySet instances in Nautobot are by default with tree fields. So if somewhere tree fields aren't
16299
+ explicitly removed from the queryset and count is called, the whole tree is calculated. Since this is not
16300
+ needed, this implementation calls <code>without_tree_fields</code> before issuing the count query and <code>with_tree_fields</code>
16301
+ afterwards when applicable.</p>
16302
+
16303
+
16160
16304
  </div>
16161
16305
 
16162
16306
  </div>
@@ -16183,6 +16327,7 @@ tree fields are present on <code>of</code>.</p>
16183
16327
  This is probably a bug, we should really return -1 in the case of an empty queryset, but this is
16184
16328
  "working as implemented" and changing it would possibly be a breaking change at this point.</p>
16185
16329
 
16330
+
16186
16331
  </div>
16187
16332
 
16188
16333
  </div>
@@ -16222,6 +16367,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16222
16367
 
16223
16368
 
16224
16369
 
16370
+
16225
16371
  <div class="doc doc-children">
16226
16372
 
16227
16373
 
@@ -16266,6 +16412,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16266
16412
 
16267
16413
 
16268
16414
 
16415
+
16269
16416
  <div class="doc doc-children">
16270
16417
 
16271
16418
 
@@ -16289,6 +16436,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16289
16436
 
16290
16437
  <p>Returns the correct field type for a given database vendor.</p>
16291
16438
 
16439
+
16292
16440
  </div>
16293
16441
 
16294
16442
  </div>
@@ -16306,6 +16454,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16306
16454
 
16307
16455
  <p>Converts DB (varbinary) to Python (str).</p>
16308
16456
 
16457
+
16309
16458
  </div>
16310
16459
 
16311
16460
  </div>
@@ -16323,6 +16472,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16323
16472
 
16324
16473
  <p>Converts Python (str) to DB (varbinary).</p>
16325
16474
 
16475
+
16326
16476
  </div>
16327
16477
 
16328
16478
  </div>
@@ -16340,6 +16490,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16340
16490
 
16341
16491
  <p>Converts <code>value</code> to Python (str).</p>
16342
16492
 
16493
+
16343
16494
  </div>
16344
16495
 
16345
16496
  </div>
@@ -16357,6 +16508,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16357
16508
 
16358
16509
  <p>IPField is serialized as str(IPAddress())</p>
16359
16510
 
16511
+
16360
16512
  </div>
16361
16513
 
16362
16514
  </div>
@@ -16385,6 +16537,7 @@ This is probably a bug, we should really return -1 in the case of an empty query
16385
16537
  For example:
16386
16538
  [0, 1, 2, 10, 14, 15, 16] =&gt; "0-2, 10, 14-16"</p>
16387
16539
 
16540
+
16388
16541
  </div>
16389
16542
 
16390
16543
  </div>
@@ -16407,6 +16560,7 @@ For example:
16407
16560
  </ul>
16408
16561
  <p>Reversible by <code>deconstruct_composite_key()</code>.</p>
16409
16562
 
16563
+
16410
16564
  </div>
16411
16565
 
16412
16566
  </div>
@@ -16438,6 +16592,7 @@ slug, and then they are joined with an underscore.</p>
16438
16592
  </ul>
16439
16593
  <p>This value is not reversible, is lossy, and is not guaranteed to be unique.</p>
16440
16594
 
16595
+
16441
16596
  </div>
16442
16597
 
16443
16598
  </div>
@@ -16472,7 +16627,7 @@ slug, and then they are joined with an underscore.</p>
16472
16627
  <code>model</code>
16473
16628
  </td>
16474
16629
  <td>
16475
- <code>Model</code>
16630
+ <code><span title="Model">Model</span></code>
16476
16631
  </td>
16477
16632
  <td>
16478
16633
  <div class="doc-md-description">
@@ -16488,7 +16643,7 @@ slug, and then they are joined with an underscore.</p>
16488
16643
  <code>field</code>
16489
16644
  </td>
16490
16645
  <td>
16491
- <code>str</code>
16646
+ <code><span title="str">str</span></code>
16492
16647
  </td>
16493
16648
  <td>
16494
16649
  <div class="doc-md-description">
@@ -16504,7 +16659,7 @@ slug, and then they are joined with an underscore.</p>
16504
16659
  <code>filter_dict</code>
16505
16660
  </td>
16506
16661
  <td>
16507
- <code>dict</code>
16662
+ <code><span title="dict">dict</span></code>
16508
16663
  </td>
16509
16664
  <td>
16510
16665
  <div class="doc-md-description">
@@ -16520,7 +16675,7 @@ slug, and then they are joined with an underscore.</p>
16520
16675
  <code>manager_name</code>
16521
16676
  </td>
16522
16677
  <td>
16523
- <code>str</code>
16678
+ <code><span title="str">str</span></code>
16524
16679
  </td>
16525
16680
  <td>
16526
16681
  <div class="doc-md-description">
@@ -16534,6 +16689,7 @@ slug, and then they are joined with an underscore.</p>
16534
16689
  </tbody>
16535
16690
  </table>
16536
16691
 
16692
+
16537
16693
  </div>
16538
16694
 
16539
16695
  </div>
@@ -16556,6 +16712,7 @@ slug, and then they are joined with an underscore.</p>
16556
16712
  </ul>
16557
16713
  <p>Inverse operation of <code>construct_composite_key()</code>.</p>
16558
16714
 
16715
+
16559
16716
  </div>
16560
16717
 
16561
16718
  </div>
@@ -16573,6 +16730,7 @@ slug, and then they are joined with an underscore.</p>
16573
16730
 
16574
16731
  <p>Decorator used to register extras provided features to a model</p>
16575
16732
 
16733
+
16576
16734
  </div>
16577
16735
 
16578
16736
  </div>
@@ -16608,7 +16766,7 @@ and return them grouped by app.</p>
16608
16766
  <code>app_models</code>
16609
16767
  </td>
16610
16768
  <td>
16611
- <code>list[<a class="autorefs autorefs-internal" title="nautobot.core.models.BaseModel" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
16769
+ <code><span title="list">list</span>[<a class="autorefs autorefs-internal" title="nautobot.apps.models.BaseModel (nautobot.core.models.BaseModel)" href="#nautobot.apps.models.BaseModel">BaseModel</a>]</code>
16612
16770
  </td>
16613
16771
  <td>
16614
16772
  <div class="doc-md-description">
@@ -16624,7 +16782,7 @@ and return them grouped by app.</p>
16624
16782
  <code>field_names</code>
16625
16783
  </td>
16626
16784
  <td>
16627
- <code>list[str]</code>
16785
+ <code><span title="list">list</span>[<span title="str">str</span>]</code>
16628
16786
  </td>
16629
16787
  <td>
16630
16788
  <div class="doc-md-description">
@@ -16640,7 +16798,7 @@ and return them grouped by app.</p>
16640
16798
  <code>field_attributes</code>
16641
16799
  </td>
16642
16800
  <td>
16643
- <code>dict</code>
16801
+ <code><span title="dict">dict</span></code>
16644
16802
  </td>
16645
16803
  <td>
16646
16804
  <div class="doc-md-description">
@@ -16656,7 +16814,7 @@ and return them grouped by app.</p>
16656
16814
  <code>additional_constraints</code>
16657
16815
  </td>
16658
16816
  <td>
16659
- <code>dict</code>
16817
+ <code><span title="dict">dict</span></code>
16660
16818
  </td>
16661
16819
  <td>
16662
16820
  <div class="doc-md-description">
@@ -16675,6 +16833,7 @@ and return them grouped by app.</p>
16675
16833
  <summary>Return</summary>
16676
16834
  <p>(dict): A dictionary where the keys are app labels and the values are sets of model names.</p>
16677
16835
  </details>
16836
+
16678
16837
  </div>
16679
16838
 
16680
16839
  </div>
@@ -16692,6 +16851,7 @@ and return them grouped by app.</p>
16692
16851
 
16693
16852
  <p>Get a list of all non-abstract models that inherit from the given base_class.</p>
16694
16853
 
16854
+
16695
16855
  </div>
16696
16856
 
16697
16857
  </div>
@@ -16709,6 +16869,7 @@ and return them grouped by app.</p>
16709
16869
 
16710
16870
  <p>Return the Global namespace.</p>
16711
16871
 
16872
+
16712
16873
  </div>
16713
16874
 
16714
16875
  </div>
@@ -16726,6 +16887,7 @@ and return them grouped by app.</p>
16726
16887
 
16727
16888
  <p>Return the PK of the Global namespace for use in default value for foreign keys.</p>
16728
16889
 
16890
+
16729
16891
  </div>
16730
16892
 
16731
16893
  </div>
@@ -16743,6 +16905,7 @@ and return them grouped by app.</p>
16743
16905
 
16744
16906
  <p>Return True if the instance can have Tags assigned to it; False otherwise.</p>
16745
16907
 
16908
+
16746
16909
  </div>
16747
16910
 
16748
16911
  </div>
@@ -16773,6 +16936,7 @@ location00000010router00000019
16773
16936
  :param max_length: The maximum length of the returned string. Characters beyond this length will be stripped.
16774
16937
  :param integer_places: The number of places to which each integer will be expanded. (Default: 8)</p>
16775
16938
 
16939
+
16776
16940
  </div>
16777
16941
 
16778
16942
  </div>
@@ -16793,6 +16957,7 @@ InterfaceManager.</p>
16793
16957
  <p>:param value: The value to be naturalized
16794
16958
  :param max_length: The maximum length of the returned string. Characters beyond this length will be stripped.</p>
16795
16959
 
16960
+
16796
16961
  </div>
16797
16962
 
16798
16963
  </div>
@@ -16827,7 +16992,7 @@ InterfaceManager.</p>
16827
16992
  <code>query</code>
16828
16993
  </td>
16829
16994
  <td>
16830
- <code>Q</code>
16995
+ <code><span title="Q">Q</span></code>
16831
16996
  </td>
16832
16997
  <td>
16833
16998
  <div class="doc-md-description">
@@ -16853,7 +17018,7 @@ InterfaceManager.</p>
16853
17018
  <tbody>
16854
17019
  <tr class="doc-section-item">
16855
17020
  <td>
16856
- <code>str</code>
17021
+ <code><span title="str">str</span></code>
16857
17022
  </td>
16858
17023
  <td>
16859
17024
  <div class="doc-md-description">
@@ -16884,6 +17049,7 @@ InterfaceManager.</p>
16884
17049
  </blockquote>
16885
17050
  </blockquote>
16886
17051
  </details>
17052
+
16887
17053
  </div>
16888
17054
 
16889
17055
  </div>
@@ -16904,6 +17070,7 @@ change logging, not the REST API.) Optionally include a dictionary to supplement
16904
17070
  can be provided to exclude them from the returned dictionary. Private fields (prefaced with an underscore) are
16905
17071
  implicitly excluded.</p>
16906
17072
 
17073
+
16907
17074
  </div>
16908
17075
 
16909
17076
  </div>
@@ -16921,6 +17088,7 @@ implicitly excluded.</p>
16921
17088
 
16922
17089
  <p>Return a JSON serialized representation of an object using obj's serializer.</p>
16923
17090
 
17091
+
16924
17092
  </div>
16925
17093
 
16926
17094
  </div>
@@ -16943,6 +17111,7 @@ This method will prepend an "a" to content to make it graphql-safe
16943
17111
  e.g:
16944
17112
  123 main st -&gt; a123_main_st</p>
16945
17113
 
17114
+
16946
17115
  </div>
16947
17116
 
16948
17117
  </div>
@@ -16960,6 +17129,7 @@ e.g:
16960
17129
 
16961
17130
  <p>Custom slugify_function - convert '.' to '-' instead of removing dots outright.</p>
16962
17131
 
17132
+
16963
17133
  </div>
16964
17134
 
16965
17135
  </div>
@@ -17067,7 +17237,7 @@ e.g:
17067
17237
 
17068
17238
 
17069
17239
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
17070
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
17240
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
17071
17241
  </a>
17072
17242
 
17073
17243
 
@@ -17075,7 +17245,7 @@ e.g:
17075
17245
 
17076
17246
 
17077
17247
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
17078
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305m-317.51 213.508V175.185l142.739 81.205z"/></svg>
17248
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M549.7 124.1c-6.2-23.7-24.8-42.3-48.3-48.6C458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5c-23.5 6.3-42 24.9-48.3 48.6C15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8C117.3 448 288.1 448 288.1 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6V175.2l142.7 81.2z"/></svg>
17079
17249
  </a>
17080
17250
 
17081
17251
 
@@ -17083,7 +17253,7 @@ e.g:
17083
17253
 
17084
17254
 
17085
17255
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
17086
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1s21.16-47.06 47.06-47.06h47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06S448 171 448 196.9s-21.16 47.06-47.06 47.06h-47.06zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06S309 480 283.1 480s-47.06-21.16-47.06-47.06v-47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06s21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06z"/></svg>
17256
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M94.1 315.1c0 25.9-21.2 47.1-47.1 47.1S0 341 0 315.1 21.2 268 47.1 268h47.1v47.1zm23.7 0c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1v117.8c0 25.9-21.2 47.1-47.1 47.1s-47.1-21.2-47.1-47.1zm47.1-189c-25.9 0-47.1-21.2-47.1-47.1s21.2-47 47.1-47S212 53.2 212 79.1v47.1h-47.1zm0 23.7c25.9 0 47.1 21.2 47.1 47.1S190.8 244 164.9 244H47.1C21.2 244 0 222.8 0 196.9s21.2-47.1 47.1-47.1zm189 47.1c0-25.9 21.2-47.1 47.1-47.1s47 21.2 47 47.1-21.2 47.1-47.1 47.1h-47.1v-47.1zm-23.7 0c0 25.9-21.2 47.1-47.1 47.1S236 222.8 236 196.9V79.1c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1zm-47.1 189c25.9 0 47.1 21.2 47.1 47.1s-21.2 47-47.1 47-47.1-21.2-47.1-47.1v-47.1h47.1zm0-23.7c-25.9 0-47.1-21.2-47.1-47.1s21.2-47.1 47.1-47.1h117.8c25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1z"/></svg>
17087
17257
  </a>
17088
17258
 
17089
17259
 
@@ -17091,7 +17261,7 @@ e.g:
17091
17261
 
17092
17262
 
17093
17263
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
17094
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
17264
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
17095
17265
  </a>
17096
17266
 
17097
17267
 
@@ -17099,7 +17269,7 @@ e.g:
17099
17269
 
17100
17270
 
17101
17271
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
17102
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253"/></svg>
17272
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
17103
17273
  </a>
17104
17274
 
17105
17275
  </div>
@@ -17119,7 +17289,7 @@ e.g:
17119
17289
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "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"}, "version": null}</script>
17120
17290
 
17121
17291
 
17122
- <script src="../../../assets/javascripts/bundle.56ea9cef.min.js"></script>
17292
+ <script src="../../../assets/javascripts/bundle.50899def.min.js"></script>
17123
17293
 
17124
17294
 
17125
17295
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});