nautobot 2.4.2__py3-none-any.whl → 2.4.4__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.
Files changed (267) hide show
  1. nautobot/apps/filters.py +2 -0
  2. nautobot/circuits/filters.py +1 -1
  3. nautobot/circuits/templates/circuits/inc/circuit_termination.html +1 -1
  4. nautobot/circuits/tests/integration/test_circuit.py +135 -0
  5. nautobot/circuits/tests/test_models.py +5 -3
  6. nautobot/circuits/views.py +4 -1
  7. nautobot/cloud/api/views.py +3 -3
  8. nautobot/cloud/filters.py +3 -6
  9. nautobot/cloud/tests/test_filters.py +21 -0
  10. nautobot/core/admin.py +2 -0
  11. nautobot/core/constants.py +0 -1
  12. nautobot/core/forms/__init__.py +2 -0
  13. nautobot/core/forms/forms.py +2 -1
  14. nautobot/core/forms/widgets.py +8 -0
  15. nautobot/core/jobs/__init__.py +2 -1
  16. nautobot/core/management/commands/generate_performance_test_endpoints.py +271 -0
  17. nautobot/core/models/utils.py +6 -1
  18. nautobot/core/templates/generic/object_bulk_delete.html +1 -1
  19. nautobot/core/templates/generic/object_bulk_edit.html +1 -1
  20. nautobot/core/templates/generic/object_bulk_import.html +1 -1
  21. nautobot/core/templates/generic/object_create.html +5 -0
  22. nautobot/core/templates/generic/object_delete.html +1 -1
  23. nautobot/core/templates/generic/object_detail.html +1 -1
  24. nautobot/core/templates/generic/object_edit.html +1 -1
  25. nautobot/core/templates/inc/javascript.html +3 -0
  26. nautobot/core/templates/widgets/clearable_file.html +5 -0
  27. nautobot/core/templatetags/helpers.py +3 -3
  28. nautobot/core/templatetags/ui_framework.py +20 -4
  29. nautobot/core/testing/forms.py +1 -1
  30. nautobot/core/testing/integration.py +37 -7
  31. nautobot/core/tests/test_api.py +1 -1
  32. nautobot/core/tests/test_commands.py +31 -0
  33. nautobot/core/tests/test_graphql.py +3 -3
  34. nautobot/core/tests/test_jobs.py +4 -1
  35. nautobot/core/tests/test_utils.py +17 -2
  36. nautobot/core/ui/object_detail.py +1 -1
  37. nautobot/core/utils/lookup.py +12 -1
  38. nautobot/core/views/generic.py +9 -1
  39. nautobot/core/views/mixins.py +9 -1
  40. nautobot/dcim/api/serializers.py +36 -0
  41. nautobot/dcim/api/views.py +12 -11
  42. nautobot/dcim/elevations.py +17 -4
  43. nautobot/dcim/factory.py +9 -1
  44. nautobot/dcim/filters/__init__.py +27 -1
  45. nautobot/dcim/forms.py +16 -7
  46. nautobot/dcim/models/devices.py +12 -7
  47. nautobot/dcim/signals.py +26 -0
  48. nautobot/dcim/templates/dcim/cable_trace.html +4 -4
  49. nautobot/dcim/templates/dcim/consoleport.html +14 -4
  50. nautobot/dcim/templates/dcim/consoleserverport.html +14 -4
  51. nautobot/dcim/templates/dcim/device/lldp_neighbors.html +3 -3
  52. nautobot/dcim/templates/dcim/frontport.html +7 -2
  53. nautobot/dcim/templates/dcim/interface.html +9 -4
  54. nautobot/dcim/templates/dcim/powerfeed.html +8 -3
  55. nautobot/dcim/templates/dcim/poweroutlet.html +14 -4
  56. nautobot/dcim/templates/dcim/powerport.html +14 -4
  57. nautobot/dcim/templates/dcim/rearport.html +7 -2
  58. nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +0 -62
  59. nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +6 -0
  60. nautobot/dcim/tests/integration/test_fileinputpicker.py +87 -0
  61. nautobot/dcim/tests/test_api.py +176 -0
  62. nautobot/dcim/tests/test_filters.py +56 -3
  63. nautobot/dcim/tests/test_models.py +41 -1
  64. nautobot/dcim/views.py +24 -14
  65. nautobot/extras/api/mixins.py +1 -1
  66. nautobot/extras/api/views.py +4 -4
  67. nautobot/extras/filters/__init__.py +4 -0
  68. nautobot/extras/forms/forms.py +4 -0
  69. nautobot/extras/jobs.py +8 -1
  70. nautobot/extras/models/datasources.py +7 -3
  71. nautobot/extras/plugins/__init__.py +26 -1
  72. nautobot/extras/templates/extras/inc/jobresult.html +12 -13
  73. nautobot/extras/templates/extras/job.html +1 -0
  74. nautobot/extras/templates/extras/objectchange.html +28 -12
  75. nautobot/extras/tests/test_api.py +16 -15
  76. nautobot/extras/tests/test_dynamicgroups.py +14 -0
  77. nautobot/extras/tests/test_filters.py +2 -0
  78. nautobot/extras/tests/test_plugins.py +32 -1
  79. nautobot/extras/tests/test_views.py +209 -11
  80. nautobot/extras/utils.py +30 -0
  81. nautobot/extras/views.py +32 -14
  82. nautobot/ipam/api/serializers.py +7 -8
  83. nautobot/ipam/api/views.py +5 -5
  84. nautobot/ipam/factory.py +27 -8
  85. nautobot/ipam/filters.py +67 -29
  86. nautobot/ipam/formfields.py +51 -0
  87. nautobot/ipam/forms.py +15 -7
  88. nautobot/ipam/migrations/0051_added_optional_vrf_relationship_to_vdc.py +41 -0
  89. nautobot/ipam/models.py +63 -5
  90. nautobot/ipam/tables.py +21 -7
  91. nautobot/ipam/tests/test_api.py +107 -66
  92. nautobot/ipam/tests/test_filters.py +145 -5
  93. nautobot/ipam/tests/test_views.py +15 -2
  94. nautobot/project-static/bootstrap-filestyle-1.2.3/bootstrap-filestyle.min.js +11 -0
  95. nautobot/project-static/css/base.css +11 -0
  96. nautobot/project-static/css/dark.css +2 -1
  97. nautobot/project-static/docs/apps/index.html +1 -1
  98. nautobot/project-static/docs/apps/nautobot-apps.html +1 -1
  99. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +62 -0
  100. nautobot/project-static/docs/development/apps/api/configuration-view.html +0 -3
  101. nautobot/project-static/docs/development/apps/api/models/graphql.html +9 -13
  102. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +94 -1
  103. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +2 -5
  104. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +0 -3
  105. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +0 -3
  106. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +0 -3
  107. nautobot/project-static/docs/development/apps/api/prometheus.html +0 -3
  108. nautobot/project-static/docs/development/apps/api/setup.html +1 -1
  109. nautobot/project-static/docs/development/apps/api/testing.html +0 -6
  110. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +0 -3
  111. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +0 -3
  112. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +0 -3
  113. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +0 -3
  114. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +1 -7
  115. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +0 -7
  116. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +0 -4
  117. nautobot/project-static/docs/development/apps/api/views/notes.html +0 -3
  118. nautobot/project-static/docs/development/apps/index.html +2 -35
  119. nautobot/project-static/docs/development/apps/migration/code-updates.html +7 -6
  120. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +2 -2
  121. nautobot/project-static/docs/development/apps/migration/from-v1.html +3 -3
  122. nautobot/project-static/docs/development/core/application-registry.html +0 -6
  123. nautobot/project-static/docs/development/core/best-practices.html +1 -28
  124. nautobot/project-static/docs/development/core/bootstrap-ui.html +1 -1
  125. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +65 -11
  126. nautobot/project-static/docs/development/core/getting-started.html +14 -18
  127. nautobot/project-static/docs/development/core/homepage.html +0 -3
  128. nautobot/project-static/docs/development/core/index.html +1 -1
  129. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +3 -3
  130. nautobot/project-static/docs/development/core/model-checklist.html +1 -1
  131. nautobot/project-static/docs/development/core/navigation-menu.html +1 -1
  132. nautobot/project-static/docs/development/core/release-checklist.html +1 -1
  133. nautobot/project-static/docs/development/core/settings.html +1 -1
  134. nautobot/project-static/docs/development/core/style-guide.html +4 -9
  135. nautobot/project-static/docs/development/core/templates.html +0 -3
  136. nautobot/project-static/docs/development/core/testing.html +0 -9
  137. nautobot/project-static/docs/development/jobs/index.html +11 -30
  138. nautobot/project-static/docs/development/jobs/migration/from-v1.html +3 -2
  139. nautobot/project-static/docs/index.html +3 -2
  140. nautobot/project-static/docs/objects.inv +0 -0
  141. nautobot/project-static/docs/overview/application_stack.html +2 -20
  142. nautobot/project-static/docs/release-notes/version-1.0.html +2 -2
  143. nautobot/project-static/docs/release-notes/version-1.1.html +2 -2
  144. nautobot/project-static/docs/release-notes/version-1.2.html +3 -3
  145. nautobot/project-static/docs/release-notes/version-1.3.html +1 -1
  146. nautobot/project-static/docs/release-notes/version-1.4.html +17 -17
  147. nautobot/project-static/docs/release-notes/version-1.5.html +8 -8
  148. nautobot/project-static/docs/release-notes/version-1.6.html +4 -4
  149. nautobot/project-static/docs/release-notes/version-2.0.html +10 -10
  150. nautobot/project-static/docs/release-notes/version-2.1.html +7 -7
  151. nautobot/project-static/docs/release-notes/version-2.2.html +1 -1
  152. nautobot/project-static/docs/release-notes/version-2.3.html +4 -4
  153. nautobot/project-static/docs/release-notes/version-2.4.html +379 -0
  154. nautobot/project-static/docs/requirements.txt +1 -1
  155. nautobot/project-static/docs/search/search_index.json +1 -1
  156. nautobot/project-static/docs/sitemap.xml +290 -290
  157. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  158. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +3 -3
  159. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +4 -4
  160. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +1 -1
  161. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +3 -13
  162. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +5 -5
  163. nautobot/project-static/docs/user-guide/administration/guides/docker.html +3 -18
  164. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +1 -1
  165. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +4 -4
  166. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +15 -15
  167. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +2 -2
  168. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +1 -1
  169. nautobot/project-static/docs/user-guide/administration/installation/index.html +0 -16
  170. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +1 -1
  171. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +7 -10
  172. nautobot/project-static/docs/user-guide/administration/installation/services.html +1 -12
  173. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +3 -3
  174. nautobot/project-static/docs/user-guide/administration/security/index.html +1 -1
  175. nautobot/project-static/docs/user-guide/administration/security/notices.html +1 -0
  176. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +5 -35
  177. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +1 -1
  178. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-location-changes.yaml +1 -1
  179. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +12 -9
  180. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +0 -4
  181. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +0 -3
  182. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +0 -4
  183. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +0 -4
  184. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +0 -4
  185. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +0 -4
  186. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +0 -4
  187. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +0 -4
  188. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +0 -3
  189. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +0 -4
  190. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +0 -4
  191. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +0 -4
  192. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +1 -17
  193. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +0 -3
  194. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +0 -4
  195. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +0 -4
  196. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +0 -3
  197. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +1 -7
  198. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +0 -4
  199. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +0 -4
  200. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +0 -4
  201. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +0 -4
  202. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +0 -4
  203. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +0 -4
  204. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +0 -4
  205. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +0 -6
  206. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +0 -3
  207. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +0 -4
  208. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +0 -4
  209. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +0 -8
  210. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +15 -15
  211. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +1 -1
  212. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +0 -6
  213. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +0 -3
  214. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +3 -15
  215. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +1 -27
  216. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +0 -8
  217. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +3 -6
  218. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +0 -8
  219. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +0 -7
  220. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +0 -3
  221. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +0 -3
  222. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +2 -2
  223. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +6 -6
  224. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +0 -14
  225. nautobot/project-static/docs/user-guide/platform-functionality/note.html +0 -3
  226. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +1 -10
  227. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +0 -3
  228. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +0 -14
  229. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +0 -19
  230. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +3 -9
  231. nautobot/project-static/docs/user-guide/platform-functionality/status.html +0 -8
  232. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +0 -4
  233. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +1 -13
  234. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +0 -5
  235. nautobot/project-static/js/dropdown.js +28 -0
  236. nautobot/project-static/js/editor.js +292 -0
  237. nautobot/project-static/monaco-editor-0.52.2/README.md +81 -0
  238. nautobot/project-static/monaco-editor-0.52.2/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  239. nautobot/project-static/monaco-editor-0.52.2/vs/base/worker/workerMain.js +31 -0
  240. nautobot/project-static/monaco-editor-0.52.2/vs/basic-languages/xml/xml.js +10 -0
  241. nautobot/project-static/monaco-editor-0.52.2/vs/basic-languages/yaml/yaml.js +10 -0
  242. nautobot/project-static/monaco-editor-0.52.2/vs/editor/editor.main.css +8 -0
  243. nautobot/project-static/monaco-editor-0.52.2/vs/editor/editor.main.js +798 -0
  244. nautobot/project-static/monaco-editor-0.52.2/vs/language/json/jsonMode.js +19 -0
  245. nautobot/project-static/monaco-editor-0.52.2/vs/language/json/jsonWorker.js +42 -0
  246. nautobot/project-static/monaco-editor-0.52.2/vs/loader.js +11 -0
  247. nautobot/tenancy/filters/__init__.py +3 -5
  248. nautobot/tenancy/forms.py +9 -0
  249. nautobot/tenancy/templates/tenancy/tenant_create.html +21 -0
  250. nautobot/tenancy/templates/tenancy/tenant_edit.html +2 -21
  251. nautobot/tenancy/templates/tenancy/tenantgroup.html +2 -44
  252. nautobot/tenancy/templates/tenancy/tenantgroup_retrieve.html +1 -0
  253. nautobot/tenancy/tests/test_filters.py +10 -0
  254. nautobot/tenancy/tests/test_views.py +5 -1
  255. nautobot/tenancy/urls.py +7 -79
  256. nautobot/tenancy/views.py +51 -80
  257. nautobot/virtualization/views.py +0 -1
  258. nautobot/wireless/api/serializers.py +6 -1
  259. nautobot/wireless/api/views.py +3 -3
  260. nautobot/wireless/tables.py +9 -4
  261. nautobot/wireless/tests/test_api.py +5 -9
  262. {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/METADATA +9 -9
  263. {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/RECORD +267 -246
  264. {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/LICENSE.txt +0 -0
  265. {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/NOTICE +0 -0
  266. {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/WHEEL +0 -0
  267. {nautobot-2.4.2.dist-info → nautobot-2.4.4.dist-info}/entry_points.txt +0 -0
@@ -9892,21 +9892,14 @@
9892
9892
  <p>This is a built-in Django command. Please see the <a href="https://docs.djangoproject.com/en/stable/ref/django-admin/#dbshell">official documentation on <code>dbshell</code></a> for more information.</p>
9893
9893
  </div>
9894
9894
  <h3 id="dumpdata"><code>dumpdata</code><a class="headerlink" href="#dumpdata" title="Permanent link">&para;</a></h3>
9895
- <details class="version-changed">
9896
- <summary>Changed in version 1.3.0</summary>
9897
- <ul>
9898
- <li><code>extras.job</code> should now be included in the dump (removed <code>--exclude extras.job</code> from the example usage)</li>
9899
- <li><code>django_rq</code> should now be excluded from the dump (added <code>--exclude django_rq</code> to the example usage)</li>
9900
- </ul>
9901
- </details>
9902
- <details class="version-changed">
9903
- <summary>Changed in version 1.5.23</summary>
9895
+ <div class="admonition warning">
9896
+ <p class="admonition-title">Warning</p>
9904
9897
  <ul>
9905
- <li>We do not recommend at this time using <code>--natural-primary</code> as this can result in inconsistent or incorrect data for data models that use GenericForeignKeys, such as <code>Cable</code>, <code>Note</code>, <code>ObjectChange</code>, and <code>Tag</code>.</li>
9906
- <li>We also do not recommend at this time using <code>--natural-foreign</code> as it can potentially result in errors if any data models incorrectly implement their <code>natural_key()</code> and/or <code>get_by_natural_key()</code> API methods.</li>
9898
+ <li>We do not recommend using <code>--natural-primary</code> as this can result in inconsistent or incorrect data for data models that use GenericForeignKeys, such as <code>Cable</code>, <code>Note</code>, <code>ObjectChange</code>, and <code>Tag</code>.</li>
9899
+ <li>We also do not recommend using <code>--natural-foreign</code> as it can potentially result in errors if any data models incorrectly implement their <code>natural_key()</code> and/or <code>get_by_natural_key()</code> API methods.</li>
9907
9900
  <li><code>contenttypes</code> must not be excluded from the dump (it could be excluded previously due to the use of <code>--natural-foreign</code>).</li>
9908
9901
  </ul>
9909
- </details>
9902
+ </div>
9910
9903
  <details class="version-changed">
9911
9904
  <summary>Changed in version 2.0.0</summary>
9912
9905
  <ul>
@@ -9957,9 +9950,6 @@
9957
9950
  <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>e!j=vrlhz-!wl8p_3+q5s5cph29nzj$xm81eap-!&amp;n!_9^du09
9958
9951
  </code></pre></div>
9959
9952
  <h3 id="generate_test_data"><code>generate_test_data</code><a class="headerlink" href="#generate_test_data" title="Permanent link">&para;</a></h3>
9960
- <details class="version-added">
9961
- <summary>Added in version 1.5.0</summary>
9962
- </details>
9963
9953
  <p><code>nautobot-server generate_test_data [--flush] --seed SEED</code></p>
9964
9954
  <p>Populate the database with various data as a baseline for testing (automated or manual).</p>
9965
9955
  <p><code>--flush</code><br />
@@ -10010,10 +10000,6 @@ String to use as a random generator seed for reproducible results.</p>
10010
10000
  <a id="__codelineno-28-4" name="__codelineno-28-4" href="#__codelineno-28-4"></a>Installation metrics will be sent when running &#39;nautobot-server post_upgrade&#39;. Thank you!
10011
10001
  <a id="__codelineno-28-5" name="__codelineno-28-5" href="#__codelineno-28-5"></a>Configuration file created at /home/example/.nautobot/nautobot_config.py
10012
10002
  </code></pre></div>
10013
- <details class="version-added">
10014
- <summary>Added in version 1.6.0</summary>
10015
- <p>The <code>nautobot-server init</code> command will now prompt you to set the initial value for the <a href="../configuration/settings.html#installation_metrics_enabled"><code>INSTALLATION_METRICS_ENABLED</code></a> setting. See the <a href="#send_installation_metrics"><code>send_installation_metrics</code></a> command for more information about the feature that this setting toggles.</p>
10016
- </details>
10017
10003
  <p>For more information on configuring Nautobot for the first time or on more advanced configuration patterns, please see the guide on <a href="../configuration/index.html">Nautobot Configuration</a>.</p>
10018
10004
  <h3 id="loaddata"><code>loaddata</code><a class="headerlink" href="#loaddata" title="Permanent link">&para;</a></h3>
10019
10005
  <p><code>nautobot-server loaddata --traceback nautobot_dump.json</code></p>
@@ -10081,10 +10067,6 @@ String to use as a random generator seed for reproducible results.</p>
10081
10067
  <p><code>nautobot-server post_upgrade</code></p>
10082
10068
  <p>Performs common server post-upgrade operations using a single entrypoint.</p>
10083
10069
  <p>This will run the following management commands with default settings, in order:</p>
10084
- <details class="version-changed">
10085
- <summary>Changed in version 1.6.0</summary>
10086
- <p>Added the <a href="#send_installation_metrics"><code>send_installation_metrics</code></a> command to the list of commands run by <code>post_upgrade</code>.</p>
10087
- </details>
10088
10070
  <ul>
10089
10071
  <li><code>migrate</code></li>
10090
10072
  <li><code>trace_paths</code></li>
@@ -10161,21 +10143,12 @@ Do not automatically refresh the dynamic group member lists.</p>
10161
10143
  <a id="__codelineno-34-23" name="__codelineno-34-23" href="#__codelineno-34-23"></a>Removing expired sessions...
10162
10144
  </code></pre></div>
10163
10145
  <h3 id="refresh_dynamic_group_member_caches"><code>refresh_dynamic_group_member_caches</code><a class="headerlink" href="#refresh_dynamic_group_member_caches" title="Permanent link">&para;</a></h3>
10164
- <details class="version-added">
10165
- <summary>Added in version 1.6.0</summary>
10166
- </details>
10167
10146
  <p><code>nautobot-server refresh_dynamic_group_member_caches</code></p>
10168
10147
  <p>Refresh the cached members of all Dynamic Groups. This can also be achieved by running the <code>Refresh Dynamic Group Caches</code> system Job.</p>
10169
10148
  <h3 id="refresh_content_type_caches"><code>refresh_content_type_caches</code><a class="headerlink" href="#refresh_content_type_caches" title="Permanent link">&para;</a></h3>
10170
- <details class="version-added">
10171
- <summary>Added in version 1.6.0</summary>
10172
- </details>
10173
10149
  <p><code>nautobot-server refresh_content_type_caches</code></p>
10174
10150
  <p>Refresh the cached ContentType object property available via <code>Model._content_type_cached</code>. If content types are added or removed, this command will update the cache to reflect the current state of the database, but should already be done through the <code>post_upgrade</code> command.</p>
10175
10151
  <h3 id="remove_stale_scheduled_jobs"><code>remove_stale_scheduled_jobs</code><a class="headerlink" href="#remove_stale_scheduled_jobs" title="Permanent link">&para;</a></h3>
10176
- <details class="version-added">
10177
- <summary>Added in version 1.3.10</summary>
10178
- </details>
10179
10152
  <p><code>nautobot-server remove_stale_scheduled_jobs [max-age of days]</code></p>
10180
10153
  <p>Delete non-recurring scheduled jobs that were scheduled to run more than <code>max-age</code> days ago.</p>
10181
10154
  <h3 id="renaturalize"><code>renaturalize</code><a class="headerlink" href="#renaturalize" title="Permanent link">&para;</a></h3>
@@ -10231,9 +10204,6 @@ JSON string that populates the <code>data</code> variable of the job.</p>
10231
10204
  </code></pre></div>
10232
10205
  <p>Please see the <a href="../../platform-functionality/jobs/index.html">guide on Jobs</a> for more information on working with and running jobs.</p>
10233
10206
  <h3 id="send_installation_metrics"><code>send_installation_metrics</code><a class="headerlink" href="#send_installation_metrics" title="Permanent link">&para;</a></h3>
10234
- <details class="version-added">
10235
- <summary>Added in version 1.6.0</summary>
10236
- </details>
10237
10207
  <p><code>nautobot-server send_installation_metrics</code></p>
10238
10208
  <p>Send anonymized installation metrics to the Nautobot maintainers. This management command is called by <a href="#post_upgrade"><code>post_upgrade</code></a> and is not intended to be run manually.</p>
10239
10209
  <p>If the <a href="../configuration/settings.html#installation_metrics_enabled"><code>INSTALLATION_METRICS_ENABLED</code></a> setting is <code>True</code>, this command will send a list of all installed <a href="../../../development/apps/index.html">Apps</a> and their versions, as well as the currently installed Nautobot and Python versions, to the Nautobot maintainers. A randomized UUID will be generated and saved in the <a href="../configuration/settings.html#deployment_id"><code>DEPLOYMENT_ID</code></a> setting to anonymously but uniquely identify this installation. The App names will be one-way hashed with SHA256 to further anonymize the data sent. This enables tracking the installation metrics of publicly released apps without disclosing the names of any private apps.</p>
@@ -9265,7 +9265,7 @@
9265
9265
  <p>Nautobot includes a Python management shell within which objects can be directly queried, created, modified, and deleted. To enter the shell, run the following command:</p>
9266
9266
  <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>nautobot-server nbshell
9267
9267
  </code></pre></div>
9268
- <p>This will launch a lightly customized version of <a href="https://django-extensions.readthedocs.io/en/latest/shell_plus.html">the django-extensions <code>shell_plus</code> shell</a>, which is an extension of <a href="https://docs.djangoproject.com/en/stable/ref/django-admin/#shell">the built-in Django shell</a> with all relevant Nautobot models pre-loaded.</p>
9268
+ <p>This will launch a lightly customized version of <a href="https://django-extensions.readthedocs.io/en/latest/shell_plus.html">the <code>django-extensions</code> <code>shell_plus</code> shell</a>, which is an extension of <a href="https://docs.djangoproject.com/en/stable/ref/django-admin/#shell">the built-in Django shell</a> with all relevant Nautobot models pre-loaded.</p>
9269
9269
  <div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>nautobot-server nbshell
9270
9270
  </code></pre></div>
9271
9271
  <p>Example output:</p>
@@ -135,7 +135,7 @@
135
135
  Class/Function(s): "dynamic_import"
136
136
  New Module: "nautobot.core.api.utils"
137
137
  - Old Module: "nautobot.utilities.utils"
138
- Class/Function(s): "ensure_content_type_and_field_name_inquery_params"
138
+ Class/Function(s): "ensure_content_type_and_field_name_in_query_params"
139
139
  New Module: "nautobot.core.utils.requests"
140
140
  - Old Module: "nautobot.utilities.utils"
141
141
  Class/Function(s): "flatten_dict"
@@ -13948,7 +13948,7 @@ Most removed database fields in Nautobot 2.0 fall into the following general cat
13948
13948
  </tr>
13949
13949
  <tr>
13950
13950
  <td>nautobot.utilities.utils</td>
13951
- <td>ensure_content_type_and_field_name_inquery_params</td>
13951
+ <td>ensure_content_type_and_field_name_in_query_params</td>
13952
13952
  <td>nautobot.core.utils.requests</td>
13953
13953
  </tr>
13954
13954
  <tr>
@@ -14418,15 +14418,18 @@ Most removed database fields in Nautobot 2.0 fall into the following general cat
14418
14418
  <p>With the removal of the atomic transaction, the <code>commit</code> flag has been removed. The ability to bypass job approval on dryrun can be achieved by using an optional <code>dryrun</code> argument. Job authors who wish to allow users to bypass approval when the <code>dryrun</code> flag is set should set a <code>dryrun</code> attribute with a value of <code>DryRunVar()</code> on their job class. <code>DryRunVar</code> can be imported from <code>nautobot.extras.jobs</code>.</p>
14419
14419
  <div class="admonition example">
14420
14420
  <p class="admonition-title">Example</p>
14421
- <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="kn">from</span> <span class="nn">nautobot.extras.jobs</span> <span class="kn">import</span> <span class="n">DryRunVar</span><span class="p">,</span> <span class="n">Job</span>
14422
- <a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>
14423
- <a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a><span class="k">class</span> <span class="nc">ExampleJob</span><span class="p">(</span><span class="n">Job</span><span class="p">):</span>
14424
- <a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a> <span class="n">dryrun</span> <span class="o">=</span> <span class="n">DryRunVar</span><span class="p">()</span>
14425
- <a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a>
14426
- <a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a> <span class="k">def</span> <span class="nf">run</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">dryrun</span><span class="p">):</span>
14427
- <a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a> <span class="o">...</span>
14428
- </code></pre></div>
14429
14421
  </div>
14422
+ <!-- pyml disable-num-lines 2 proper-names -->
14423
+ <div class="highlight"><pre><span></span><code>```py
14424
+ from nautobot.extras.jobs import DryRunVar, Job
14425
+
14426
+ class ExampleJob(Job):
14427
+ dryrun = DryRunVar()
14428
+
14429
+ def run(self, dryrun):
14430
+ ...
14431
+ ```
14432
+ </code></pre></div>
14430
14433
  <p>A new <code>supports_dryrun</code> field has been added to the <code>Job</code> model and <code>Job</code> class that returns true if the <code>Job</code> class implements the <code>dryrun = DryRunVar()</code> attribute. This is used to determine if jobs that require approval can be dry run without prior approval.</p>
14431
14434
  <p>The <code>commit_default</code> job field has been renamed to <code>dryrun_default</code> and the default value has been changed from <code>True</code> to <code>False</code>.</p>
14432
14435
  <div class="admonition important">
@@ -9479,10 +9479,6 @@ release notes under the release in which the change went into effect.</p>
9479
9479
  </tbody>
9480
9480
  </table>
9481
9481
  <details class="version-removed">
9482
- <summary>Removed in version 1.6.0</summary>
9483
- <p>Support for Python 3.7 was removed.</p>
9484
- </details>
9485
- <details class="version-removed">
9486
9482
  <summary>Removed in version 2.1.0</summary>
9487
9483
  <p>Support for versions of PostgreSQL older than 12.0 was removed.</p>
9488
9484
  </details>
@@ -9122,9 +9122,6 @@
9122
9122
 
9123
9123
 
9124
9124
  <h1 id="provider-network">Provider Network<a class="headerlink" href="#provider-network" title="Permanent link">&para;</a></h1>
9125
- <details class="version-added">
9126
- <summary>Added in version 1.3.0</summary>
9127
- </details>
9128
9125
  <p>A provider network represents an abstract portion of network topology, just like in a topology diagram. For example, a provider network may be used to represent a provider's MPLS network.</p>
9129
9126
  <p>Each provider network must be assigned to a provider. A circuit may terminate to either a provider network or to a valid location.</p>
9130
9127
 
@@ -9136,10 +9136,6 @@
9136
9136
  <h1 id="console-ports">Console Ports<a class="headerlink" href="#console-ports" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A console port provides connectivity to the physical console of a device. These are typically used for temporary access by someone who is physically near the device, or for remote out-of-band access provided via a networked console server. Each console port may be assigned a physical type.</p>
9138
9138
  <p>Cables can connect console ports to console server ports or pass-through ports.</p>
9139
- <details class="version-added">
9140
- <summary>Added in version 1.4.5</summary>
9141
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9142
- </details>
9143
9139
  <details class="version-changed">
9144
9140
  <summary>Changed in version 2.3.0</summary>
9145
9141
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a>. As a result, there are now two fields for assignment to a Device or Module. One of the <code>device</code> or <code>module</code> fields must be populated but not both. If a <code>module</code> is supplied, the <code>device</code> field must be null, and similarly the <code>module</code> field must be null if a <code>device</code> is supplied.</p>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="console-port-templates">Console Port Templates<a class="headerlink" href="#console-port-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a console port that will be created on all instantiations of the parent device type. Each console port can be assigned a physical type.</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9136,10 +9136,6 @@
9136
9136
  <h1 id="console-server-ports">Console Server Ports<a class="headerlink" href="#console-server-ports" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A console server is a device which provides remote access to the local consoles of connected devices. They are typically used to provide remote out-of-band access to network devices. Each console server port may be assigned a physical type.</p>
9138
9138
  <p>Cables can connect console server ports to console ports or pass-through ports.</p>
9139
- <details class="version-added">
9140
- <summary>Added in version 1.4.5</summary>
9141
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9142
- </details>
9143
9139
  <details class="version-changed">
9144
9140
  <summary>Changed in version 2.3.0</summary>
9145
9141
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a>. As a result, there are now two fields for assignment to a Device or Module. One of the <code>device</code> or <code>module</code> fields must be populated but not both. If a <code>module</code> is supplied, the <code>device</code> field must be null, and similarly the <code>module</code> field must be null if a <code>device</code> is supplied.</p>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="console-server-port-templates">Console Server Port Templates<a class="headerlink" href="#console-server-port-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a console server port that will be created on all instantiations of the parent device type. Each console server port can be assigned a physical type.</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9130,10 +9130,6 @@
9130
9130
  <summary>Changed in version 2.3.0</summary>
9131
9131
  <p>Device bays are <strong>not</strong> suitable for modeling line cards (such as those commonly found in chassis-based routers and switches), as these components depend on the control plane of the parent device to operate. Previously, it was recommended that line cards and similarly non-autonomous hardware should be modeled as inventory items within a device, but as of version 2.3.0 the <a href="module.html">Module</a> model should be used instead.</p>
9132
9132
  </details>
9133
- <details class="version-added">
9134
- <summary>Added in version 1.4.5</summary>
9135
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9136
- </details>
9137
9133
 
9138
9134
 
9139
9135
 
@@ -9125,10 +9125,6 @@
9125
9125
 
9126
9126
  <h1 id="device-bay-templates">Device Bay Templates<a class="headerlink" href="#device-bay-templates" title="Permanent link">&para;</a></h1>
9127
9127
  <p>A template for a device bay that will be created on all instantiations of the parent device type.</p>
9128
- <details class="version-added">
9129
- <summary>Added in version 1.4.5</summary>
9130
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9131
- </details>
9132
9128
 
9133
9129
 
9134
9130
 
@@ -9328,9 +9328,6 @@
9328
9328
 
9329
9329
 
9330
9330
  <h1 id="device-redundancy-groups">Device Redundancy Groups<a class="headerlink" href="#device-redundancy-groups" title="Permanent link">&para;</a></h1>
9331
- <details class="version-added">
9332
- <summary>Added in version 1.5.0</summary>
9333
- </details>
9334
9331
  <p>Device Redundancy Groups represent logical relationships between multiple devices. Typically, a redundancy group could represent a failover pair, failover group, or a load sharing cluster.
9335
9332
  Device Redundancy Groups are created first, before the devices are assigned to the group.</p>
9336
9333
  <p>A failover strategy represents intended operation mode of the group. Supported failover strategy are: Active/Active and Active/Standby.</p>
@@ -9144,10 +9144,6 @@
9144
9144
  <p>This parent/child relationship is <strong>not</strong> suitable for modeling chassis-based devices, wherein child members share a common control plane. Instead, line cards and similarly non-autonomous hardware should be modeled as inventory items within a device, with any associated interfaces or other components assigned directly to the device.</p>
9145
9145
  </div>
9146
9146
  <h2 id="device-component-templates">Device Component Templates<a class="headerlink" href="#device-component-templates" title="Permanent link">&para;</a></h2>
9147
- <details class="version-added">
9148
- <summary>Added in version 1.4.5</summary>
9149
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9150
- </details>
9151
9147
  <p>Each device type is assigned a number of component templates which define the physical components within a device. These are:</p>
9152
9148
  <ul>
9153
9149
  <li>Console ports</li>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="front-ports">Front Ports<a class="headerlink" href="#front-ports" title="Permanent link">&para;</a></h1>
9137
9137
  <p>Front ports are pass-through ports used to represent physical cable connections that comprise part of a longer path. For example, the ports on the front face of a UTP patch panel would be modeled in Nautobot as front ports. Each port is assigned a physical type, and must be mapped to a specific rear port on the same device. A single rear port may be mapped to multiple rear ports, using numeric positions to annotate the specific alignment of each.</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a>. As a result, there are now two fields for assignment to a Device or Module. One of the <code>device</code> or <code>module</code> fields must be populated but not both. If a <code>module</code> is supplied, the <code>device</code> field must be null, and similarly the <code>module</code> field must be null if a <code>device</code> is supplied.</p>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="front-port-templates">Front Port Templates<a class="headerlink" href="#front-port-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a front-facing pass-through port that will be created on all instantiations of the parent device type. Front ports may have a physical type assigned, and must be associated with a corresponding rear port and position. This association will be automatically replicated when the device type is instantiated.</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9143,16 +9143,8 @@
9143
9143
  <li>Decommissioning</li>
9144
9144
  <li>Failed</li>
9145
9145
  </ul>
9146
- <details class="version-added">
9147
- <summary>Added in version 1.4.0</summary>
9148
- <ul>
9149
- <li>Added <code>bridge</code> field.</li>
9150
- <li>Added <code>parent_interface</code> field.</li>
9151
- <li>Added <code>status</code> field.</li>
9152
- </ul>
9153
- </details>
9154
9146
  <p>Interfaces may be physical or virtual in nature, but only physical interfaces may be connected via cables. Cables can connect interfaces to pass-through ports, circuit terminations, or other interfaces.</p>
9155
- <p>Physical interfaces may be arranged into a link aggregation group (LAG) and associated with a parent LAG (virtual) interface. LAG interfaces can be recursively nested to model bonding of trunk groups. Like all virtual interfaces, LAG interfaces cannot be connected physically.</p>
9147
+ <p>Physical interfaces may be arranged into a link aggregation group (LAG) and associated with a parent LAG (virtual) interface. LAG interfaces can be recursively nested to model bonding of trunk groups. Like all virtual interfaces, LAG interfaces cannot be connected physically. Interfaces can be assigned to an <a href="interfaceredundancygroup.html">Interface Redundancy Group</a> to represent redundancy protocols such as HSRP or VRRP.</p>
9156
9148
  <details class="version-changed">
9157
9149
  <summary>Changed in version 2.0.0</summary>
9158
9150
  <p>The relationship to IP addresses has been changed to a many-to-many relationship. This allows an IP address to be assigned to multiple interfaces, and an interface to have multiple IP addresses assigned to it.</p>
@@ -9163,14 +9155,6 @@
9163
9155
  <p>Although devices and virtual machines both can have interfaces, a separate model is used for each. Thus, device interfaces have some properties that are not present on virtual machine interfaces and vice versa.</p>
9164
9156
  </div>
9165
9157
  <details class="version-added">
9166
- <summary>Added in version 1.4.5</summary>
9167
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9168
- </details>
9169
- <details class="version-added">
9170
- <summary>Added in version 1.6.0</summary>
9171
- <p>Interfaces can now be assigned to an <a href="interfaceredundancygroup.html">Interface Redundancy Group</a> to represent redundancy protocols such as HSRP or VRRP.</p>
9172
- </details>
9173
- <details class="version-added">
9174
9158
  <summary>Added in version 2.3.0</summary>
9175
9159
  <p>Interfaces now have an optional <code>role</code> field and can be assigned <a href="../../platform-functionality/role.html">Role</a> instances to track common configurations.</p>
9176
9160
  </details>
@@ -9196,9 +9196,6 @@
9196
9196
 
9197
9197
 
9198
9198
  <h1 id="interface-redundancy-groups">Interface Redundancy Groups<a class="headerlink" href="#interface-redundancy-groups" title="Permanent link">&para;</a></h1>
9199
- <details class="version-added">
9200
- <summary>Added in version 1.6.0</summary>
9201
- </details>
9202
9199
  <p>Interface Redundancy Groups represent groups of interfaces that share a single virtual address. This model is intended to represent redundancy protocols such as HSRP or VRRP that allow multiple devices to provide a fault-tolerant default gateway for a network.</p>
9203
9200
  <p>Interface Redundancy Groups must be created before interfaces can be assigned to the group.</p>
9204
9201
  <div class="admonition note">
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="interface-templates">Interface Templates<a class="headerlink" href="#interface-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a network interface that will be created on all instantiations of the parent device type or module type. Each interface may be assigned a physical or virtual type, and may be designated as "management-only."</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9142,10 +9142,6 @@
9142
9142
  <p>Unless a specific use case is identified for inventory items, they are likely to be completely replaced by <a href="module.html">Modules</a> and removed in a future release of Nautobot.</p>
9143
9143
  </div>
9144
9144
  <details class="version-added">
9145
- <summary>Added in version 1.4.5</summary>
9146
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9147
- </details>
9148
- <details class="version-added">
9149
9145
  <summary>Added in version 2.2.0</summary>
9150
9146
  <p>The <a href="softwareversion.html">Software Version</a> model has been introduced to represent the software version that is currently installed on an inventory item. An optional software version field has been added to inventory items.</p>
9151
9147
  </details>
@@ -9122,9 +9122,6 @@
9122
9122
 
9123
9123
 
9124
9124
  <h1 id="locations">Locations<a class="headerlink" href="#locations" title="Permanent link">&para;</a></h1>
9125
- <details class="version-added">
9126
- <summary>Added in version 1.4.0</summary>
9127
- </details>
9128
9125
  <p>To locate network information more precisely than a Site defines, you can define a hierarchy of Locations within each Site. Data objects such as devices, prefixes, VLAN groups, etc. can thus be mapped or assigned to a specific building, wing, floor, room, etc. as appropriate to your needs.</p>
9129
9126
  <p>Once you have defined the hierarchy of Location Types that you wish to use, you can then define Locations. Any "top-level" Locations (those whose Location Type has no parent) belong directly to a Site, while "child" Locations belong to their immediate parent Location, rather than to the Site as a whole.</p>
9130
9127
  <div class="admonition info">
@@ -9122,14 +9122,9 @@
9122
9122
 
9123
9123
 
9124
9124
  <h1 id="location-types">Location Types<a class="headerlink" href="#location-types" title="Permanent link">&para;</a></h1>
9125
- <details class="version-added">
9126
- <summary>Added in version 1.4.0</summary>
9127
- </details>
9128
9125
  <p>Before defining individual Locations, you must first define the hierarchy of Location Types that you wish to use for the organization of your network. An example hierarchy might be <code>Building ← Floor ← Room</code>, but you might have more or fewer distinct types depending on your specific organizational requirements.</p>
9129
9126
  <p>Each Location Type can define a set of "content types" that are permitted to associate to Locations of this type. For example, you might permit assigning Prefixes and VLAN Groups to an entire Building or Floor, but only allow Devices and Racks to be assigned to Rooms, never to a more abstract location. Doing so can help ensure consistency of your data.</p>
9130
- <details class="version-added">
9131
- <summary>Added in version 1.5.0</summary>
9132
- <p>Location Types can now be marked as <code>nestable</code>. When this flag is set, Locations of this type may nest within one another, allowing for variable-depth hierarchies of Locations and reducing the number of distinct Location Types you may need to define. For example, with two Location Types, "Building Group" and "Building", by flagging "Building Group" as nestable, you could model the following hierarchy of Locations:</p>
9127
+ <p>Location Types can be marked as <code>nestable</code>. When this flag is set, Locations of this type may nest within one another, allowing for variable-depth hierarchies of Locations and reducing the number of distinct Location Types you may need to define. For example, with two Location Types, "Building Group" and "Building", by flagging "Building Group" as nestable, you could model the following hierarchy of Locations:</p>
9133
9128
  <ul>
9134
9129
  <li>Main Campus (Building Group)<ul>
9135
9130
  <li>West Campus (Building Group)<ul>
@@ -9160,7 +9155,6 @@
9160
9155
  </ul>
9161
9156
  </li>
9162
9157
  </ul>
9163
- </details>
9164
9158
  <div class="admonition tip">
9165
9159
  <p class="admonition-title">Tip</p>
9166
9160
  <p>Although it is possible to define a "tree" of Location Types with multiple "branches", in the majority of cases doing so adds more unnecessary complexity than it's worth. Consider the following hypothetical Location Type tree:</p>
@@ -9126,10 +9126,6 @@
9126
9126
  <p>Platforms may optionally be limited by manufacturer: If a platform is assigned to a particular manufacturer, it can only be assigned to devices with a type belonging to that manufacturer.</p>
9127
9127
  <p>The platform model can be used to indicate which "network driver" Nautobot (and Jobs, Apps, etc.) should use when connecting to a remote device running this platform. This is a generic string corresponding loosely to a <a href="https://github.com/ktbyers/netmiko">Netmiko</a> driver name. As there are many different libraries and applications for connecting to a device, rather than having a separate model field for each such connection type, Nautobot uses <a href="https://netutils.readthedocs.io/en/latest/">netutils</a> to translate the generic network driver string into a variety of library-specific driver strings (Ansible "collection name", PyATS "OS" value, Scrapli "platform", etc.) which can be accessed via the UI, REST API, and GraphQL as needed. An administrator can extend or override the default translations provided by netutils by configuring the <a href="../../administration/configuration/settings.html#network_drivers"><code>NETWORK_DRIVERS</code></a> dictionary appropriately. (If your extensions are generally applicable, please consider making a pull request against <a href="https://github.com/networktocode/netutils">netutils</a> to update the package!)</p>
9128
9128
  <details class="version-added">
9129
- <summary>Added in version 1.6.0</summary>
9130
- <p>The <code>network_driver</code> database field and the <code>network_driver_mappings</code> derived property were added to the Platform data model. Support for the <code>NETWORK_DRIVERS</code> setting was added.</p>
9131
- </details>
9132
- <details class="version-added">
9133
9129
  <summary>Added in version 2.0.0</summary>
9134
9130
  <p>Support for <code>netutils_parser</code> key was added to <code>network_driver_mappings</code>.</p>
9135
9131
  </details>
@@ -9232,10 +9232,6 @@
9232
9232
  <p>Power outlets represent the outlets on a power distribution unit (PDU) or other device that supply power to dependent devices. Each power port may be assigned a physical type, and may be associated with a specific feed leg (where three-phase power is used) and/or a specific upstream power port. This association can be used to model the distribution of power within a device.</p>
9233
9233
  <p>For example, imagine a PDU with one power port which draws from a three-phase feed and 48 power outlets arranged into three banks of 16 outlets each. Outlets 1-16 would be associated with leg A on the port, and outlets 17-32 and 33-48 would be associated with legs B and C, respectively.</p>
9234
9234
  <p>Cables can connect power outlets only to downstream power ports. (Pass-through ports cannot be used to model power distribution.)</p>
9235
- <details class="version-added">
9236
- <summary>Added in version 1.4.5</summary>
9237
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9238
- </details>
9239
9235
  <details class="version-changed">
9240
9236
  <summary>Changed in version 2.3.0</summary>
9241
9237
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a>. As a result, there are now two fields for assignment to a Device or Module. One of the <code>device</code> or <code>module</code> fields must be populated but not both. If a <code>module</code> is supplied, the <code>device</code> field must be null, and similarly the <code>module</code> field must be null if a <code>device</code> is supplied.</p>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="power-outlet-templates">Power Outlet Templates<a class="headerlink" href="#power-outlet-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a power outlet that will be created on all instantiations of the parent device type or module type. Each power outlet can be assigned a physical type, and its power source may be mapped to a specific feed leg and power port template. This association will be automatically replicated when the device type is instantiated.</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9235,10 +9235,6 @@
9235
9235
  <p>When creating a power port on a device which supplies power to downstream devices, the allocated and maximum draw numbers should be left blank. Utilization will be calculated by taking the sum of all power ports of devices connected downstream.</p>
9236
9236
  </div>
9237
9237
  <p>Cables can connect power ports only to power outlets or power feeds. (Pass-through ports cannot be used to model power distribution.)</p>
9238
- <details class="version-added">
9239
- <summary>Added in version 1.4.5</summary>
9240
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9241
- </details>
9242
9238
  <details class="version-changed">
9243
9239
  <summary>Changed in version 2.3.0</summary>
9244
9240
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a>. As a result, there are now two fields for assignment to a Device or Module. One of the <code>device</code> or <code>module</code> fields must be populated but not both. If a <code>module</code> is supplied, the <code>device</code> field must be null, and similarly the <code>module</code> field must be null if a <code>device</code> is supplied.</p>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="power-port-templates">Power Port Templates<a class="headerlink" href="#power-port-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a power port that will be created on all instantiations of the parent device type or module type. Each power port can be assigned a physical type, as well as a maximum and allocated draw in watts.</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9139,10 +9139,6 @@
9139
9139
  <p class="admonition-title">Note</p>
9140
9140
  <p>Front and rear ports need not necessarily reside on the actual front or rear device face. This terminology is used primarily to distinguish between the two components in a pass-through port pairing.</p>
9141
9141
  </div>
9142
- <details class="version-added">
9143
- <summary>Added in version 1.4.5</summary>
9144
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9145
- </details>
9146
9142
  <details class="version-changed">
9147
9143
  <summary>Changed in version 2.3.0</summary>
9148
9144
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a>. As a result, there are now two fields for assignment to a Device or Module. One of the <code>device</code> or <code>module</code> fields must be populated but not both. If a <code>module</code> is supplied, the <code>device</code> field must be null, and similarly the <code>module</code> field must be null if a <code>device</code> is supplied.</p>
@@ -9135,10 +9135,6 @@
9135
9135
 
9136
9136
  <h1 id="rear-port-templates">Rear Port Templates<a class="headerlink" href="#rear-port-templates" title="Permanent link">&para;</a></h1>
9137
9137
  <p>A template for a rear-facing pass-through port that will be created on all instantiations of the parent device type or module type. Each rear port may have a physical type and one or more front port templates assigned to it. The number of positions associated with a rear port determines how many front ports can be assigned to it (the maximum is 1024).</p>
9138
- <details class="version-added">
9139
- <summary>Added in version 1.4.5</summary>
9140
- <p>The fields <code>created</code> and <code>last_updated</code> were added to all device component template models. If you upgraded from Nautobot 1.4.4 or earlier, the values for these fields will default to <code>None</code> (null).</p>
9141
- </details>
9142
9138
  <details class="version-changed">
9143
9139
  <summary>Changed in version 2.3.0</summary>
9144
9140
  <p>This model has been updated to support being installed in <a href="module.html">Modules</a> through the <a href="moduletype.html">ModuleType</a> model. As a result, there are now two fields for assignment to a DeviceType or ModuleType. One of the <code>device_type</code> or <code>module_type</code> fields must be populated but not both. If a <code>module_type</code> is supplied, the <code>device_type</code> field must be null, and similarly the <code>module_type</code> field must be null if a <code>device_type</code> is supplied.</p>
@@ -9210,12 +9210,6 @@
9210
9210
  <li>Tag</li>
9211
9211
  <li>Dynamic group - Need to set <code>settings.CONFIG_CONTEXT_DYNAMIC_GROUPS_ENABLED</code> to <code>True</code>. <a href="../../administration/configuration/settings.html#config_context_dynamic_groups_enabled">See notes here</a></li>
9212
9212
  </ul>
9213
- <details class="version-added">
9214
- <summary>Added in version 1.5.0 — Added support for filtering by device redundancy group</summary>
9215
- </details>
9216
- <details class="version-added">
9217
- <summary>Added in version 1.5.12 — Added support for filtering by dynamic group</summary>
9218
- </details>
9219
9213
  <p>Context data not specifically assigned to one or more of the above groups is by default associated with <strong>all</strong> devices and virtual machines.</p>
9220
9214
  <p>Configuration contexts may be managed within Nautobot via the UI and/or API; they may also be managed externally to Nautobot in a Git repository if desired.</p>
9221
9215
  <h2 id="hierarchical-rendering">Hierarchical Rendering<a class="headerlink" href="#hierarchical-rendering" title="Permanent link">&para;</a></h2>
@@ -9122,9 +9122,6 @@
9122
9122
 
9123
9123
 
9124
9124
  <h1 id="config-context-schemas">Config Context Schemas<a class="headerlink" href="#config-context-schemas" title="Permanent link">&para;</a></h1>
9125
- <details class="version-added">
9126
- <summary>Added in version 1.1.0</summary>
9127
- </details>
9128
9125
  <p>While config contexts allow for arbitrary data structures to be stored within Nautobot, at scale it is desirable to apply validation constraints to that data to ensure its consistency and to avoid data entry errors. To service this need, Nautobot supports optionally backing config contexts with <a href="https://json-schema.org/">JSON Schemas</a> for validation. These schema are managed via the config context schema model and are optionally linked to config context instances, in addition to devices and virtual machines for the purpose of validating their local context data.</p>
9129
9126
  <p>A JSON Schema is capable of validating the structure, format, and type of your data, and acts as a form of documentation useful in a number of automation use cases.</p>
9130
9127
  <p>A config context is linked to a single schema object and thus they are meant to model individual units of the overall context. In this way, they validate each config context object, not the fully rendered context as viewed on a particular device or virtual machine.</p>
@@ -9257,10 +9257,6 @@
9257
9257
  </details>
9258
9258
  <h2 id="network-address-translation-nat">Network Address Translation (NAT)<a class="headerlink" href="#network-address-translation-nat" title="Permanent link">&para;</a></h2>
9259
9259
  <p>An IP address can be designated as the network address translation (NAT) inside IP address for one or more other IP addresses. This is useful primarily to denote a translation between public and private IP addresses. This relationship is followed in both directions: For example, if 10.0.0.1 is assigned as the inside IP for 192.0.2.1, 192.0.2.1 will be displayed as the outside IP for 10.0.0.1.</p>
9260
- <details class="version-added">
9261
- <summary>Added in version 1.3.0</summary>
9262
- <p>Support for multiple outside NAT IP addresses was added.</p>
9263
- </details>
9264
9260
  <h2 id="ipaddress-parenting-concrete-relationship">IPAddress Parenting Concrete Relationship<a class="headerlink" href="#ipaddress-parenting-concrete-relationship" title="Permanent link">&para;</a></h2>
9265
9261
  <details class="version-added">
9266
9262
  <summary>Added in version 2.0.0</summary>
@@ -9235,10 +9235,6 @@
9235
9235
  </ul>
9236
9236
  <p>As with prefixes, each VLAN may also be assigned a functional role. Prefixes and VLANs share the same set of customizable roles.</p>
9237
9237
  <details class="version-changed">
9238
- <summary>Changed in version 1.5.9</summary>
9239
- <p>The maximum <code>name</code> length was increased from 64 characters to 255 characters.</p>
9240
- </details>
9241
- <details class="version-changed">
9242
9238
  <summary>Changed in version 2.0.0</summary>
9243
9239
  <ul>
9244
9240
  <li>Renamed <code>group</code> field to <code>vlan_group</code>.</li>