nautobot 2.4.16__py3-none-any.whl → 2.4.17__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 (370) hide show
  1. nautobot/apps/utils.py +2 -0
  2. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +3 -3
  3. nautobot/cloud/views.py +7 -0
  4. nautobot/core/apps/__init__.py +1 -0
  5. nautobot/core/celery/__init__.py +2 -1
  6. nautobot/core/templates/components/panel/panel.html +1 -1
  7. nautobot/core/templates/inc/paginator.html +3 -3
  8. nautobot/core/templates/inc/table.html +2 -2
  9. nautobot/core/templatetags/helpers.py +80 -6
  10. nautobot/core/testing/mixins.py +1 -1
  11. nautobot/core/testing/views.py +2 -4
  12. nautobot/core/ui/bulk_buttons.py +53 -53
  13. nautobot/core/ui/object_detail.py +9 -4
  14. nautobot/core/utils/data.py +13 -0
  15. nautobot/core/utils/deprecation.py +2 -0
  16. nautobot/dcim/migrations/0073_alter_powerport_power_factor_and_more.py +41 -0
  17. nautobot/dcim/models/device_component_templates.py +4 -2
  18. nautobot/dcim/models/device_components.py +3 -2
  19. nautobot/dcim/templates/dcim/rack_elevation_list.html +4 -4
  20. nautobot/dcim/views.py +9 -0
  21. nautobot/extras/models/customfields.py +45 -9
  22. nautobot/extras/templates/extras/configcontext_retrieve.html +1 -1
  23. nautobot/extras/templates/extras/configcontext_update.html +49 -49
  24. nautobot/extras/templates/extras/configcontextschema_retrieve.html +47 -47
  25. nautobot/extras/templates/extras/configcontextschema_update.html +18 -18
  26. nautobot/extras/templates/extras/inc/job_table.html +1 -1
  27. nautobot/extras/templates/extras/inc/object_contact_header.html +2 -2
  28. nautobot/extras/templates/extras/note_retrieve.html +53 -53
  29. nautobot/extras/templates/extras/tag_retrieve.html +1 -1
  30. nautobot/extras/templates/extras/tag_update.html +14 -14
  31. nautobot/extras/templates/extras/team_retrieve.html +1 -1
  32. nautobot/extras/tests/test_models.py +216 -0
  33. nautobot/extras/tests/test_views.py +2 -2
  34. nautobot/extras/views.py +1 -0
  35. nautobot/ipam/apps.py +1 -0
  36. nautobot/ipam/jobs/__init__.py +10 -0
  37. nautobot/ipam/jobs/cleanup.py +296 -0
  38. nautobot/ipam/models.py +301 -178
  39. nautobot/ipam/templates/ipam/inc/ipadress_edit_header.html +3 -3
  40. nautobot/ipam/templates/ipam/inc/toggle_available.html +2 -2
  41. nautobot/ipam/templates/ipam/ipaddress_assign.html +1 -1
  42. nautobot/ipam/templates/ipam/prefix_list.html +1 -1
  43. nautobot/ipam/templates/ipam/vlan_retrieve.html +1 -77
  44. nautobot/ipam/tests/test_jobs.py +454 -0
  45. nautobot/ipam/tests/test_models.py +290 -122
  46. nautobot/ipam/tests/test_views.py +40 -164
  47. nautobot/ipam/urls.py +0 -11
  48. nautobot/ipam/utils/testing.py +9 -4
  49. nautobot/ipam/views.py +166 -235
  50. nautobot/project-static/docs/404.html +9 -6
  51. nautobot/project-static/docs/apps/index.html +9 -6
  52. nautobot/project-static/docs/apps/nautobot-apps.html +9 -6
  53. nautobot/project-static/docs/assets/javascripts/bundle.92b07e13.min.js +16 -0
  54. nautobot/project-static/docs/assets/javascripts/{bundle.50899def.min.js.map → bundle.92b07e13.min.js.map} +2 -2
  55. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js → search.973d3a69.min.js} +4 -4
  56. nautobot/project-static/docs/assets/javascripts/workers/{search.d50fe291.min.js.map → search.973d3a69.min.js.map} +1 -1
  57. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +9 -6
  58. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +9 -6
  59. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +9 -6
  60. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +9 -6
  61. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +10 -7
  62. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +9 -6
  63. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +9 -6
  64. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +9 -6
  65. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9 -6
  66. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +9 -6
  67. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +9 -6
  68. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +9 -6
  69. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +9 -6
  70. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +9 -6
  71. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +9 -6
  72. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +11 -8
  73. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +9 -6
  74. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +9 -6
  75. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +11 -8
  76. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +9 -6
  77. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +28 -9
  78. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +9 -6
  79. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +69 -7
  80. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +9 -6
  81. nautobot/project-static/docs/development/apps/api/configuration-view.html +13 -10
  82. nautobot/project-static/docs/development/apps/api/database-backend-config.html +11 -8
  83. nautobot/project-static/docs/development/apps/api/models/django-admin.html +13 -10
  84. nautobot/project-static/docs/development/apps/api/models/global-search.html +10 -7
  85. nautobot/project-static/docs/development/apps/api/models/graphql.html +18 -15
  86. nautobot/project-static/docs/development/apps/api/models/index.html +14 -11
  87. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +11 -8
  88. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +15 -12
  89. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +9 -6
  90. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +15 -12
  91. nautobot/project-static/docs/development/apps/api/platform-features/index.html +9 -6
  92. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +11 -8
  93. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +16 -13
  94. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +12 -10305
  95. nautobot/project-static/docs/development/apps/api/platform-features/prepopulating-data.html +10722 -0
  96. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +15 -12
  97. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +14 -11
  98. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +9 -6
  99. nautobot/project-static/docs/development/apps/api/prometheus.html +15 -12
  100. nautobot/project-static/docs/development/apps/api/setup.html +9 -6
  101. nautobot/project-static/docs/development/apps/api/testing.html +9 -6
  102. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +12 -9
  103. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +9 -6
  104. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +9 -6
  105. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +9 -6
  106. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +20 -17
  107. nautobot/project-static/docs/development/apps/api/views/base-template.html +9 -6
  108. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +15 -12
  109. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +14 -11
  110. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +9 -6
  111. nautobot/project-static/docs/development/apps/api/views/index.html +9 -6
  112. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +10 -7
  113. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +24 -21
  114. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +12 -9
  115. nautobot/project-static/docs/development/apps/api/views/notes.html +10 -7
  116. nautobot/project-static/docs/development/apps/api/views/rest-api.html +19 -16
  117. nautobot/project-static/docs/development/apps/api/views/urls.html +11 -8
  118. nautobot/project-static/docs/development/apps/index.html +9 -6
  119. nautobot/project-static/docs/development/apps/migration/code-updates.html +19 -16
  120. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +9 -6
  121. nautobot/project-static/docs/development/apps/migration/from-v1.html +9 -6
  122. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +22 -19
  123. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +9 -6
  124. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +9 -6
  125. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +9 -6
  126. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +9 -6
  127. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +14 -11
  128. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +27 -24
  129. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +20 -17
  130. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +20 -17
  131. nautobot/project-static/docs/development/apps/porting-from-netbox.html +9 -6
  132. nautobot/project-static/docs/development/core/application-registry.html +23 -20
  133. nautobot/project-static/docs/development/core/best-practices.html +23 -20
  134. nautobot/project-static/docs/development/core/bootstrap-ui.html +9 -6
  135. nautobot/project-static/docs/development/core/caching.html +9 -6
  136. nautobot/project-static/docs/development/core/controllers.html +9 -6
  137. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +10 -7
  138. nautobot/project-static/docs/development/core/generic-views.html +9 -6
  139. nautobot/project-static/docs/development/core/getting-started.html +9 -6
  140. nautobot/project-static/docs/development/core/homepage.html +12 -9
  141. nautobot/project-static/docs/development/core/index.html +9 -6
  142. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9 -6
  143. nautobot/project-static/docs/development/core/model-checklist.html +9 -6
  144. nautobot/project-static/docs/development/core/model-features.html +11 -8
  145. nautobot/project-static/docs/development/core/natural-keys.html +21 -18
  146. nautobot/project-static/docs/development/core/navigation-menu.html +10 -7
  147. nautobot/project-static/docs/development/core/release-checklist.html +9 -6
  148. nautobot/project-static/docs/development/core/role-internals.html +9 -6
  149. nautobot/project-static/docs/development/core/settings.html +9 -6
  150. nautobot/project-static/docs/development/core/style-guide.html +32 -29
  151. nautobot/project-static/docs/development/core/templates.html +9 -6
  152. nautobot/project-static/docs/development/core/testing.html +10 -7
  153. nautobot/project-static/docs/development/core/ui-component-framework.html +36 -33
  154. nautobot/project-static/docs/development/core/user-preferences.html +9 -6
  155. nautobot/project-static/docs/development/index.html +9 -6
  156. nautobot/project-static/docs/development/jobs/getting-started.html +13 -10
  157. nautobot/project-static/docs/development/jobs/index.html +9 -6
  158. nautobot/project-static/docs/development/jobs/installation.html +23 -20
  159. nautobot/project-static/docs/development/jobs/job-extensions.html +25 -22
  160. nautobot/project-static/docs/development/jobs/job-logging.html +12 -9
  161. nautobot/project-static/docs/development/jobs/job-patterns.html +45 -42
  162. nautobot/project-static/docs/development/jobs/job-structure.html +53 -50
  163. nautobot/project-static/docs/development/jobs/migration/from-v1.html +23 -20
  164. nautobot/project-static/docs/development/jobs/testing.html +14 -11
  165. nautobot/project-static/docs/index.html +9 -6
  166. nautobot/project-static/docs/objects.inv +0 -0
  167. nautobot/project-static/docs/overview/application_stack.html +9 -6
  168. nautobot/project-static/docs/overview/design_philosophy.html +9 -6
  169. nautobot/project-static/docs/release-notes/index.html +9 -6
  170. nautobot/project-static/docs/release-notes/version-1.0.html +9 -6
  171. nautobot/project-static/docs/release-notes/version-1.1.html +9 -6
  172. nautobot/project-static/docs/release-notes/version-1.2.html +10 -7
  173. nautobot/project-static/docs/release-notes/version-1.3.html +9 -6
  174. nautobot/project-static/docs/release-notes/version-1.4.html +9 -6
  175. nautobot/project-static/docs/release-notes/version-1.5.html +13 -10
  176. nautobot/project-static/docs/release-notes/version-1.6.html +9 -6
  177. nautobot/project-static/docs/release-notes/version-2.0.html +9 -6
  178. nautobot/project-static/docs/release-notes/version-2.1.html +9 -6
  179. nautobot/project-static/docs/release-notes/version-2.2.html +9 -6
  180. nautobot/project-static/docs/release-notes/version-2.3.html +9 -6
  181. nautobot/project-static/docs/release-notes/version-2.4.html +267 -6
  182. nautobot/project-static/docs/requirements.txt +2 -2
  183. nautobot/project-static/docs/search/search_index.json +1 -1
  184. nautobot/project-static/docs/sitemap.xml +301 -301
  185. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  186. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +15 -12
  187. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +9 -6
  188. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +16 -13
  189. nautobot/project-static/docs/user-guide/administration/configuration/index.html +9 -6
  190. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +9 -6
  191. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +11 -8
  192. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +9 -6
  193. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +9 -6
  194. nautobot/project-static/docs/user-guide/administration/guides/docker.html +9 -6
  195. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +9 -6
  196. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +9 -6
  197. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +9 -6
  198. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +9 -6
  199. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +9 -6
  200. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +16 -13
  201. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +9 -6
  202. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +9 -6
  203. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +9 -6
  204. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +9 -6
  205. nautobot/project-static/docs/user-guide/administration/installation/index.html +9 -6
  206. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +9 -6
  207. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +9 -6
  208. nautobot/project-static/docs/user-guide/administration/installation/services.html +12 -9
  209. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +13 -10
  210. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +10 -7
  211. nautobot/project-static/docs/user-guide/administration/security/index.html +9 -6
  212. nautobot/project-static/docs/user-guide/administration/security/notices.html +9 -6
  213. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +9 -6
  214. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +10 -7
  215. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +9 -6
  216. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +9 -6
  217. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +9 -6
  218. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +9 -6
  219. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +9 -6
  220. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +9 -6
  221. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +9 -6
  222. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +15 -12
  223. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +9 -6
  224. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +9 -6
  225. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +9 -6
  226. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +9 -6
  227. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +9 -6
  228. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +9 -6
  229. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +9 -6
  230. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +9 -6
  231. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +9 -6
  232. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +9 -6
  233. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +9 -6
  234. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +9 -6
  235. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +9 -6
  236. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +9 -6
  237. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +9 -6
  238. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +9 -6
  239. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +9 -6
  240. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +9 -6
  241. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +9 -6
  242. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +9 -6
  243. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +9 -6
  244. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +9 -6
  245. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +9 -6
  246. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +9 -6
  247. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +13 -10
  248. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +9 -6
  249. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +9 -6
  250. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +9 -6
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +9 -6
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +9 -6
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +9 -6
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +9 -6
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +9 -6
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +9 -6
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +9 -6
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +9 -6
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +9 -6
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +9 -6
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +9 -6
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +9 -6
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +9 -6
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +9 -6
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +9 -6
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +9 -6
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +9 -6
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +9 -6
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +9 -6
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +9 -6
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +9 -6
  272. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +9 -6
  273. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +9 -6
  274. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +9 -6
  275. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +9 -6
  276. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +9 -6
  277. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +9 -6
  278. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +9 -6
  279. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +9 -6
  280. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +9 -6
  281. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +11 -8
  282. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +11 -8
  283. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +41 -41
  284. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +9 -6
  285. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +197 -54
  286. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +9 -6
  287. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +9 -6
  288. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +9 -6
  289. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +9 -6
  290. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +9 -6
  291. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +9 -6
  292. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +9 -6
  293. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +9 -6
  294. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +9 -6
  295. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +9 -6
  296. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +9 -6
  297. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +9 -6
  298. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +9 -6
  299. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +9 -6
  300. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +9 -6
  301. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +9 -6
  302. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +9 -6
  303. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +9 -6
  304. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +9 -6
  305. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +9 -6
  306. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +9 -6
  307. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +9 -6
  308. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +9 -6
  309. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +9 -6
  310. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +9 -6
  311. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +9 -6
  312. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +9 -6
  313. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +9 -6
  314. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +9 -6
  315. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +9 -6
  316. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +13 -10
  317. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +9 -6
  318. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +9 -6
  319. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +9 -6
  320. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9 -6
  321. nautobot/project-static/docs/user-guide/index.html +9 -6
  322. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +9 -6
  323. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +9 -6
  324. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +10 -7
  325. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +9 -6
  326. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +9 -6
  327. nautobot/project-static/docs/user-guide/platform-functionality/events.html +11 -8
  328. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +9 -6
  329. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +9 -6
  330. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +9 -6
  331. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +9 -6
  332. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +9 -6
  333. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +9 -6
  334. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +9 -6
  335. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +9 -6
  336. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +9 -6
  337. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +9 -6
  338. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +9 -6
  339. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9 -6
  340. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +9 -6
  341. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +9 -6
  342. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +9 -6
  343. nautobot/project-static/docs/user-guide/platform-functionality/note.html +9 -6
  344. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +12 -9
  345. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +9 -6
  346. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +9 -6
  347. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +9 -6
  348. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +9 -6
  349. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +9 -6
  350. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +9 -6
  351. nautobot/project-static/docs/user-guide/platform-functionality/role.html +9 -6
  352. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +9 -6
  353. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +11 -8
  354. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +9 -6
  355. nautobot/project-static/docs/user-guide/platform-functionality/status.html +9 -6
  356. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +9 -6
  357. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +9 -6
  358. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +9 -6
  359. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +9 -6
  360. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +9 -6
  361. nautobot/project-static/fonts/UFL.txt +96 -96
  362. nautobot/project-static/js/forms.js +35 -2
  363. nautobot/virtualization/filters.py +7 -0
  364. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/METADATA +6 -6
  365. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/RECORD +369 -364
  366. nautobot/project-static/docs/assets/javascripts/bundle.50899def.min.js +0 -16
  367. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/LICENSE.txt +0 -0
  368. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/NOTICE +0 -0
  369. {nautobot-2.4.16.dist-info → nautobot-2.4.17.dist-info}/WHEEL +0 -0
  370. {nautobot-2.4.16.dist-info → nautobot-2.4.17.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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10240,7 +10242,7 @@
10240
10242
  <p>The code below shows how to add a new tab to the navbar. A tab is defined by a <code>NavMenuTab</code> object. Similarly a group is defined using <code>NavMenuGroup</code>. Both of these objects are used as containers for actual items.</p>
10241
10243
  <p>The position in the navigation menu is defined by the weight. The lower the weight the closer to the start of the menus the object will be. All core objects have weights in multiples of 100, meaning there is plenty of space around the objects for Apps to customize.</p>
10242
10244
  <p>Below you can see <code>Example Menu</code> has a weight value of <code>150</code>. This means the tab (menu) will appear between <code>Organization</code> (100) and <code>Devices</code> (200).</p>
10243
- <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="kn">from</span> <span class="nn">nautobot.core.apps</span> <span class="kn">import</span> <span class="n">NavMenuAddButton</span><span class="p">,</span> <span class="n">NavMenuGroup</span><span class="p">,</span> <span class="n">NavMenuItem</span><span class="p">,</span> <span class="n">NavMenuImportButton</span><span class="p">,</span> <span class="n">NavMenuTab</span>
10245
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.core.apps</span><span class="w"> </span><span class="kn">import</span> <span class="n">NavMenuAddButton</span><span class="p">,</span> <span class="n">NavMenuGroup</span><span class="p">,</span> <span class="n">NavMenuItem</span><span class="p">,</span> <span class="n">NavMenuImportButton</span><span class="p">,</span> <span class="n">NavMenuTab</span>
10244
10246
  <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>
10245
10247
  <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="n">menu_items</span> <span class="o">=</span> <span class="p">(</span>
10246
10248
  <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a> <span class="n">NavMenuTab</span><span class="p">(</span>
@@ -10417,7 +10419,8 @@
10417
10419
  <!-- RTD version flyout injected on live site -->
10418
10420
  <div id="readthedocs-embed-flyout"></div>
10419
10421
 
10420
- <div class="md-social">
10422
+
10423
+ <div class="md-social">
10421
10424
 
10422
10425
 
10423
10426
 
@@ -10473,10 +10476,10 @@
10473
10476
 
10474
10477
 
10475
10478
 
10476
- <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>
10479
+ <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.973d3a69.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>
10477
10480
 
10478
10481
 
10479
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10482
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10480
10483
 
10481
10484
 
10482
10485
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10815,7 +10817,8 @@ To create the tag locally:</p>
10815
10817
  <!-- RTD version flyout injected on live site -->
10816
10818
  <div id="readthedocs-embed-flyout"></div>
10817
10819
 
10818
- <div class="md-social">
10820
+
10821
+ <div class="md-social">
10819
10822
 
10820
10823
 
10821
10824
 
@@ -10871,10 +10874,10 @@ To create the tag locally:</p>
10871
10874
 
10872
10875
 
10873
10876
 
10874
- <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>
10877
+ <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.973d3a69.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>
10875
10878
 
10876
10879
 
10877
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10880
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10878
10881
 
10879
10882
 
10880
10883
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10316,7 +10318,8 @@ own risk!</p>
10316
10318
  <!-- RTD version flyout injected on live site -->
10317
10319
  <div id="readthedocs-embed-flyout"></div>
10318
10320
 
10319
- <div class="md-social">
10321
+
10322
+ <div class="md-social">
10320
10323
 
10321
10324
 
10322
10325
 
@@ -10372,10 +10375,10 @@ own risk!</p>
10372
10375
 
10373
10376
 
10374
10377
 
10375
- <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>
10378
+ <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.973d3a69.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>
10376
10379
 
10377
10380
 
10378
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10381
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10379
10382
 
10380
10383
 
10381
10384
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10423,7 +10425,8 @@
10423
10425
  <!-- RTD version flyout injected on live site -->
10424
10426
  <div id="readthedocs-embed-flyout"></div>
10425
10427
 
10426
- <div class="md-social">
10428
+
10429
+ <div class="md-social">
10427
10430
 
10428
10431
 
10429
10432
 
@@ -10479,10 +10482,10 @@
10479
10482
 
10480
10483
 
10481
10484
 
10482
- <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>
10485
+ <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.973d3a69.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>
10483
10486
 
10484
10487
 
10485
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10488
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10486
10489
 
10487
10490
 
10488
10491
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10485,24 +10487,24 @@
10485
10487
  <p>Nautobot follows the <a href="https://peps.python.org/pep-0008/#imports">PEP8 style guide's</a> standard for importing modules. Libraries should be imported in these groups: standard library, third party libraries, then <code>nautobot</code> packages and finally try/except imports. The groups should be separated by a single blank line. Within these groups,import lines should be sorted alphanumerically by the package name. Lists of of names imported from packages should also be sorted alphanumerically.</p>
10486
10488
  <div class="admonition example">
10487
10489
  <p class="admonition-title">Example</p>
10488
- <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="kn">from</span> <span class="nn">abc</span> <span class="kn">import</span> <span class="n">ABC</span>
10489
- <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="kn">import</span> <span class="nn">logging</span>
10490
- <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="kn">from</span> <span class="nn">uuid</span> <span class="kn">import</span> <span class="n">UUID</span>
10490
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-3-1" name="__codelineno-3-1" href="#__codelineno-3-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">abc</span><span class="w"> </span><span class="kn">import</span> <span class="n">ABC</span>
10491
+ <a id="__codelineno-3-2" name="__codelineno-3-2" href="#__codelineno-3-2"></a><span class="kn">import</span><span class="w"> </span><span class="nn">logging</span>
10492
+ <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="kn">from</span><span class="w"> </span><span class="nn">uuid</span><span class="w"> </span><span class="kn">import</span> <span class="n">UUID</span>
10491
10493
  <a id="__codelineno-3-4" name="__codelineno-3-4" href="#__codelineno-3-4"></a>
10492
- <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="kn">from</span> <span class="nn">django.db.models</span> <span class="kn">import</span> <span class="n">CharField</span><span class="p">,</span> <span class="n">DecimalField</span><span class="p">,</span> <span class="n">TextField</span>
10493
- <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="kn">import</span> <span class="nn">django_filters</span>
10494
+ <a id="__codelineno-3-5" name="__codelineno-3-5" href="#__codelineno-3-5"></a><span class="kn">from</span><span class="w"> </span><span class="nn">django.db.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">CharField</span><span class="p">,</span> <span class="n">DecimalField</span><span class="p">,</span> <span class="n">TextField</span>
10495
+ <a id="__codelineno-3-6" name="__codelineno-3-6" href="#__codelineno-3-6"></a><span class="kn">import</span><span class="w"> </span><span class="nn">django_filters</span>
10494
10496
  <a id="__codelineno-3-7" name="__codelineno-3-7" href="#__codelineno-3-7"></a>
10495
- <a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="kn">from</span> <span class="nn">nautobot.dcim</span> <span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">dcim_models</span>
10496
- <a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="kn">from</span> <span class="nn">nautobot.extras</span> <span class="kn">import</span> <span class="n">models</span>
10497
+ <a id="__codelineno-3-8" name="__codelineno-3-8" href="#__codelineno-3-8"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">dcim_models</span>
10498
+ <a id="__codelineno-3-9" name="__codelineno-3-9" href="#__codelineno-3-9"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.extras</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span>
10497
10499
  </code></pre></div>
10498
10500
  </div>
10499
10501
  <h3 id="wildcard-imports">Wildcard Imports<a class="headerlink" href="#wildcard-imports" title="Permanent link">&para;</a></h3>
10500
10502
  <p>Wildcard imports (<code>from foo import *</code>) should only be used in <code>__init__.py</code> files to import names from submodules that have a <code>__all__</code> variable defined.</p>
10501
10503
  <div class="admonition example">
10502
10504
  <p class="admonition-title">Example</p>
10503
- <div class="highlight"><span class="filename">nautobot/dcim/models/__init__.py</span><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="kn">from</span> <span class="nn">nautobot.dcim.models.cables</span> <span class="kn">import</span> <span class="o">*</span>
10504
- <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="kn">from</span> <span class="nn">nautobot.dcim.models.device_component_templates</span> <span class="kn">import</span> <span class="o">*</span>
10505
- <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="kn">from</span> <span class="nn">nautobot.dcim.models.device_components</span> <span class="kn">import</span> <span class="o">*</span>
10505
+ <div class="highlight"><span class="filename">nautobot/dcim/models/__init__.py</span><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim.models.cables</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
10506
+ <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim.models.device_component_templates</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
10507
+ <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim.models.device_components</span><span class="w"> </span><span class="kn">import</span> <span class="o">*</span>
10506
10508
  <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="c1"># etc ...</span>
10507
10509
  </code></pre></div>
10508
10510
  </div>
@@ -10514,10 +10516,10 @@
10514
10516
  <div class="admonition example">
10515
10517
  <p class="admonition-title">Example</p>
10516
10518
  <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="c1"># module import</span>
10517
- <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="kn">from</span> <span class="nn">nautobot.core</span> <span class="kn">import</span> <span class="n">xyz</span>
10519
+ <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.core</span><span class="w"> </span><span class="kn">import</span> <span class="n">xyz</span>
10518
10520
  <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a>
10519
10521
  <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a><span class="c1"># name import (do not use)</span>
10520
- <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="kn">from</span> <span class="nn">nautobot.core.xyz</span> <span class="kn">import</span> <span class="n">SomeClass</span><span class="p">,</span> <span class="n">some_function</span>
10522
+ <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.core.xyz</span><span class="w"> </span><span class="kn">import</span> <span class="n">SomeClass</span><span class="p">,</span> <span class="n">some_function</span>
10521
10523
  </code></pre></div>
10522
10524
  </div>
10523
10525
  <h4 id="absolute-imports">Absolute Imports<a class="headerlink" href="#absolute-imports" title="Permanent link">&para;</a></h4>
@@ -10525,12 +10527,12 @@
10525
10527
  <div class="admonition example">
10526
10528
  <p class="admonition-title">Example</p>
10527
10529
  <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="c1"># absolute import</span>
10528
- <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="kn">from</span> <span class="nn">nautobot.dcim</span> <span class="kn">import</span> <span class="n">constants</span>
10529
- <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="kn">from</span> <span class="nn">nautobot.dcim.models</span> <span class="kn">import</span> <span class="n">Device</span>
10530
+ <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim</span><span class="w"> </span><span class="kn">import</span> <span class="n">constants</span>
10531
+ <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">Device</span>
10530
10532
  <a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a>
10531
10533
  <a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a><span class="c1"># relative import (do not use)</span>
10532
- <a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="kn">import</span> <span class="nn">constants</span>
10533
- <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="kn">from</span> <span class="nn">.models</span> <span class="kn">import</span> <span class="n">Device</span>
10534
+ <a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a><span class="kn">import</span><span class="w"> </span><span class="nn">constants</span>
10535
+ <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a><span class="kn">from</span><span class="w"> </span><span class="nn">.models</span><span class="w"> </span><span class="kn">import</span> <span class="n">Device</span>
10534
10536
  </code></pre></div>
10535
10537
  </div>
10536
10538
  <h4 id="import-style-conventions">Import Style Conventions<a class="headerlink" href="#import-style-conventions" title="Permanent link">&para;</a></h4>
@@ -10538,10 +10540,10 @@
10538
10540
  <div class="admonition example">
10539
10541
  <p class="admonition-title">Example</p>
10540
10542
  <div class="highlight"><span class="filename">nautobot/extras/models.py</span><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="c1"># inter-app import</span>
10541
- <a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="kn">from</span> <span class="nn">nautobot.dcim</span> <span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">dcim_models</span>
10543
+ <a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">dcim_models</span>
10542
10544
  <a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a>
10543
10545
  <a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a><span class="c1"># intra-app import</span>
10544
- <a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="kn">from</span> <span class="nn">nautobot.extras</span> <span class="kn">import</span> <span class="n">constants</span>
10546
+ <a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.extras</span><span class="w"> </span><span class="kn">import</span> <span class="n">constants</span>
10545
10547
  </code></pre></div>
10546
10548
  </div>
10547
10549
  <h4 id="resolving-name-conflicts">Resolving Name Conflicts<a class="headerlink" href="#resolving-name-conflicts" title="Permanent link">&para;</a></h4>
@@ -10549,21 +10551,21 @@
10549
10551
  <div class="admonition example">
10550
10552
  <p class="admonition-title">Example</p>
10551
10553
  <div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a><span class="c1"># from within the current app</span>
10552
- <a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="kn">from</span> <span class="nn">nautobot.extras</span> <span class="kn">import</span> <span class="n">models</span>
10554
+ <a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.extras</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span>
10553
10555
  <a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a>
10554
10556
  <a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a><span class="c1"># from a different Nautobot app</span>
10555
- <a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="kn">from</span> <span class="nn">nautobot.dcim</span> <span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">dcim_models</span>
10557
+ <a id="__codelineno-8-5" name="__codelineno-8-5" href="#__codelineno-8-5"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.dcim</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">dcim_models</span>
10556
10558
  <a id="__codelineno-8-6" name="__codelineno-8-6" href="#__codelineno-8-6"></a>
10557
10559
  <a id="__codelineno-8-7" name="__codelineno-8-7" href="#__codelineno-8-7"></a><span class="c1"># other libraries</span>
10558
- <a id="__codelineno-8-8" name="__codelineno-8-8" href="#__codelineno-8-8"></a><span class="kn">from</span> <span class="nn">django.db</span> <span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">django_models</span>
10559
- <a id="__codelineno-8-9" name="__codelineno-8-9" href="#__codelineno-8-9"></a><span class="kn">from</span> <span class="nn">tree_queries</span> <span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">tree_queries_models</span>
10560
+ <a id="__codelineno-8-8" name="__codelineno-8-8" href="#__codelineno-8-8"></a><span class="kn">from</span><span class="w"> </span><span class="nn">django.db</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">django_models</span>
10561
+ <a id="__codelineno-8-9" name="__codelineno-8-9" href="#__codelineno-8-9"></a><span class="kn">from</span><span class="w"> </span><span class="nn">tree_queries</span><span class="w"> </span><span class="kn">import</span> <span class="n">models</span> <span class="k">as</span> <span class="n">tree_queries_models</span>
10560
10562
  </code></pre></div>
10561
10563
  </div>
10562
10564
  <h4 id="convenience-imports">Convenience Imports<a class="headerlink" href="#convenience-imports" title="Permanent link">&para;</a></h4>
10563
10565
  <p>Nautobot uses convenience imports in the same way that <a href="https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/#imports">Django</a> implements them. These should be leveraged whenever possible.</p>
10564
10566
  <div class="admonition example">
10565
10567
  <p class="admonition-title">Example</p>
10566
- <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="kn">from</span> <span class="nn">nautobot.extras</span> <span class="kn">import</span> <span class="n">forms</span>
10568
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.extras</span><span class="w"> </span><span class="kn">import</span> <span class="n">forms</span>
10567
10569
  <a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>
10568
10570
  <a id="__codelineno-9-3" name="__codelineno-9-3" href="#__codelineno-9-3"></a><span class="c1"># use top level import if available:</span>
10569
10571
  <a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a><span class="n">forms</span><span class="o">.</span><span class="n">NoteModelFormMixin</span><span class="p">()</span>
@@ -10661,7 +10663,8 @@
10661
10663
  <!-- RTD version flyout injected on live site -->
10662
10664
  <div id="readthedocs-embed-flyout"></div>
10663
10665
 
10664
- <div class="md-social">
10666
+
10667
+ <div class="md-social">
10665
10668
 
10666
10669
 
10667
10670
 
@@ -10717,10 +10720,10 @@
10717
10720
 
10718
10721
 
10719
10722
 
10720
- <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>
10723
+ <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.973d3a69.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>
10721
10724
 
10722
10725
 
10723
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10726
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10724
10727
 
10725
10728
 
10726
10729
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10484,7 +10486,8 @@ It does not provide any blocks for customizing the user experience.</p>
10484
10486
  <!-- RTD version flyout injected on live site -->
10485
10487
  <div id="readthedocs-embed-flyout"></div>
10486
10488
 
10487
- <div class="md-social">
10489
+
10490
+ <div class="md-social">
10488
10491
 
10489
10492
 
10490
10493
 
@@ -10540,10 +10543,10 @@ It does not provide any blocks for customizing the user experience.</p>
10540
10543
 
10541
10544
 
10542
10545
 
10543
- <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>
10546
+ <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.973d3a69.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>
10544
10547
 
10545
10548
 
10546
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10549
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10547
10550
 
10548
10551
 
10549
10552
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
@@ -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.16">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
22
22
 
23
23
 
24
24
 
@@ -35,6 +35,8 @@
35
35
 
36
36
 
37
37
 
38
+
39
+
38
40
 
39
41
 
40
42
 
@@ -7394,12 +7396,12 @@
7394
7396
 
7395
7397
 
7396
7398
  <li class="md-nav__item">
7397
- <a href="../apps/api/platform-features/populating-extensibility-features.html" class="md-nav__link">
7399
+ <a href="../apps/api/platform-features/prepopulating-data.html" class="md-nav__link">
7398
7400
 
7399
7401
 
7400
7402
 
7401
7403
  <span class="md-ellipsis">
7402
- Populating Extensibility Features
7404
+ Prepopulating Data
7403
7405
 
7404
7406
  </span>
7405
7407
 
@@ -10464,7 +10466,7 @@
10464
10466
  <h2 id="factories">Factories<a class="headerlink" href="#factories" title="Permanent link">&para;</a></h2>
10465
10467
  <p>Nautobot uses the <a href="https://factoryboy.readthedocs.io/en/stable/"><code>factory_boy</code></a> library as a way to generate randomized but plausible database data for use in unit and integration tests, or for convenience in populating a local development instance.</p>
10466
10468
  <p>Factories for each Nautobot app's models are defined in the corresponding <code>nautobot/APPNAME/factory.py</code> files. Helper classes and functions for certain common patterns are defined in <code>nautobot/core/factory.py</code>. Factories can be used directly from <code>nautobot-server nbshell</code> so long as you have <code>factory_boy</code> installed. Examples:</p>
10467
- <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="o">&gt;&gt;&gt;</span> <span class="kn">from</span> <span class="nn">nautobot.tenancy.factory</span> <span class="kn">import</span> <span class="n">TenantFactory</span><span class="p">,</span> <span class="n">TenantGroupFactory</span>
10469
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="o">&gt;&gt;&gt;</span> <span class="kn">from</span><span class="w"> </span><span class="nn">nautobot.tenancy.factory</span><span class="w"> </span><span class="kn">import</span> <span class="n">TenantFactory</span><span class="p">,</span> <span class="n">TenantGroupFactory</span>
10468
10470
  <a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="o">&gt;&gt;&gt;</span> <span class="c1"># Create a single TenantGroup instance</span>
10469
10471
  <a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a><span class="o">&gt;&gt;&gt;</span> <span class="n">TenantGroupFactory</span><span class="o">.</span><span class="n">create</span><span class="p">()</span>
10470
10472
  <a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="o">&lt;</span><span class="n">TenantGroup</span><span class="p">:</span> <span class="n">Peterson</span><span class="p">,</span> <span class="n">Nunez</span> <span class="ow">and</span> <span class="n">Miller</span><span class="o">&gt;</span>
@@ -10601,7 +10603,8 @@
10601
10603
  <!-- RTD version flyout injected on live site -->
10602
10604
  <div id="readthedocs-embed-flyout"></div>
10603
10605
 
10604
- <div class="md-social">
10606
+
10607
+ <div class="md-social">
10605
10608
 
10606
10609
 
10607
10610
 
@@ -10657,10 +10660,10 @@
10657
10660
 
10658
10661
 
10659
10662
 
10660
- <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>
10663
+ <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.973d3a69.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>
10661
10664
 
10662
10665
 
10663
- <script src="../../assets/javascripts/bundle.50899def.min.js"></script>
10666
+ <script src="../../assets/javascripts/bundle.92b07e13.min.js"></script>
10664
10667
 
10665
10668
 
10666
10669
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});