nautobot 2.2.3__py3-none-any.whl → 2.2.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.

Potentially problematic release.


This version of nautobot might be problematic. Click here for more details.

Files changed (301) hide show
  1. nautobot/core/settings.py +6 -4
  2. nautobot/core/settings.yaml +51 -16
  3. nautobot/core/templates/admin/base.html +2 -2
  4. nautobot/core/templates/base_django.html +2 -2
  5. nautobot/core/templates/buttons/export.html +47 -47
  6. nautobot/core/templates/inc/javascript.html +3 -0
  7. nautobot/core/templates/inc/media.html +3 -0
  8. nautobot/core/templates/login.html +2 -2
  9. nautobot/core/templates/nautobot_config.py.j2 +2 -0
  10. nautobot/core/tests/test_jobs.py +79 -2
  11. nautobot/core/tests/test_views.py +33 -0
  12. nautobot/core/views/mixins.py +4 -0
  13. nautobot/dcim/tests/test_views.py +239 -55
  14. nautobot/dcim/views.py +23 -20
  15. nautobot/extras/api/serializers.py +17 -6
  16. nautobot/extras/tests/test_context_managers.py +18 -0
  17. nautobot/extras/utils.py +2 -1
  18. nautobot/extras/views.py +35 -21
  19. nautobot/ipam/views.py +6 -6
  20. nautobot/project-static/docs/404.html +107 -51
  21. nautobot/project-static/docs/apps/index.html +107 -51
  22. nautobot/project-static/docs/apps/nautobot-apps.html +107 -51
  23. nautobot/project-static/docs/assets/_mkdocstrings.css +6 -1
  24. nautobot/project-static/docs/assets/extra.css +7 -0
  25. nautobot/project-static/docs/assets/javascripts/bundle.3220b9d7.min.js +29 -0
  26. nautobot/project-static/docs/assets/javascripts/bundle.3220b9d7.min.js.map +7 -0
  27. nautobot/project-static/docs/assets/stylesheets/main.66ac8b77.min.css +1 -0
  28. nautobot/project-static/docs/assets/stylesheets/main.66ac8b77.min.css.map +1 -0
  29. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +107 -51
  30. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +107 -51
  31. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +107 -51
  32. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +107 -51
  33. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +107 -51
  34. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +107 -51
  35. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +107 -51
  36. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +107 -51
  37. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +107 -51
  38. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +107 -51
  39. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +107 -51
  40. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +107 -51
  41. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +107 -51
  42. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +107 -51
  43. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +107 -51
  44. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +107 -51
  45. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +107 -51
  46. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +107 -51
  47. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +107 -51
  48. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +107 -51
  49. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +107 -51
  50. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +107 -51
  51. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +107 -51
  52. nautobot/project-static/docs/development/apps/api/configuration-view.html +110 -54
  53. nautobot/project-static/docs/development/apps/api/database-backend-config.html +110 -54
  54. nautobot/project-static/docs/development/apps/api/models/django-admin.html +107 -51
  55. nautobot/project-static/docs/development/apps/api/models/global-search.html +110 -54
  56. nautobot/project-static/docs/development/apps/api/models/graphql.html +113 -57
  57. nautobot/project-static/docs/development/apps/api/models/index.html +107 -51
  58. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +113 -57
  59. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +107 -51
  60. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +110 -54
  61. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +107 -51
  62. nautobot/project-static/docs/development/apps/api/platform-features/index.html +107 -51
  63. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +110 -54
  64. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +110 -54
  65. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +110 -54
  66. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +110 -54
  67. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +107 -51
  68. nautobot/project-static/docs/development/apps/api/prometheus.html +110 -54
  69. nautobot/project-static/docs/development/apps/api/setup.html +107 -51
  70. nautobot/project-static/docs/development/apps/api/testing.html +113 -57
  71. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +110 -54
  72. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +110 -54
  73. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +107 -51
  74. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +107 -51
  75. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +113 -57
  76. nautobot/project-static/docs/development/apps/api/views/base-template.html +107 -51
  77. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +110 -54
  78. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +107 -51
  79. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +110 -54
  80. nautobot/project-static/docs/development/apps/api/views/index.html +107 -51
  81. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +113 -57
  82. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +122 -66
  83. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +110 -54
  84. nautobot/project-static/docs/development/apps/api/views/notes.html +110 -54
  85. nautobot/project-static/docs/development/apps/api/views/rest-api.html +107 -51
  86. nautobot/project-static/docs/development/apps/api/views/urls.html +107 -51
  87. nautobot/project-static/docs/development/apps/index.html +128 -72
  88. nautobot/project-static/docs/development/apps/migration/code-updates.html +107 -51
  89. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +107 -51
  90. nautobot/project-static/docs/development/apps/migration/from-v1.html +107 -51
  91. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +107 -51
  92. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +107 -51
  93. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +107 -51
  94. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +107 -51
  95. nautobot/project-static/docs/development/apps/porting-from-netbox.html +110 -54
  96. nautobot/project-static/docs/development/core/application-registry.html +119 -63
  97. nautobot/project-static/docs/development/core/best-practices.html +122 -66
  98. nautobot/project-static/docs/development/core/bootstrap-ui.html +107 -51
  99. nautobot/project-static/docs/development/core/caching.html +107 -51
  100. nautobot/project-static/docs/development/core/controllers.html +107 -51
  101. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +113 -57
  102. nautobot/project-static/docs/development/core/generic-views.html +110 -54
  103. nautobot/project-static/docs/development/core/getting-started.html +135 -79
  104. nautobot/project-static/docs/development/core/homepage.html +110 -54
  105. nautobot/project-static/docs/development/core/index.html +107 -51
  106. nautobot/project-static/docs/development/core/model-checklist.html +107 -51
  107. nautobot/project-static/docs/development/core/model-features.html +107 -51
  108. nautobot/project-static/docs/development/core/natural-keys.html +110 -54
  109. nautobot/project-static/docs/development/core/navigation-menu.html +107 -51
  110. nautobot/project-static/docs/development/core/release-checklist.html +107 -51
  111. nautobot/project-static/docs/development/core/role-internals.html +107 -51
  112. nautobot/project-static/docs/development/core/settings.html +107 -51
  113. nautobot/project-static/docs/development/core/style-guide.html +110 -54
  114. nautobot/project-static/docs/development/core/templates.html +113 -57
  115. nautobot/project-static/docs/development/core/testing.html +125 -69
  116. nautobot/project-static/docs/development/core/user-preferences.html +107 -51
  117. nautobot/project-static/docs/development/index.html +107 -51
  118. nautobot/project-static/docs/development/jobs/index.html +173 -117
  119. nautobot/project-static/docs/development/jobs/migration/from-v1.html +110 -54
  120. nautobot/project-static/docs/docker/index.html +3 -3
  121. nautobot/project-static/docs/index.html +125 -69
  122. nautobot/project-static/docs/installation/selinux-troubleshooting.html +3 -3
  123. nautobot/project-static/docs/release-notes/index.html +107 -51
  124. nautobot/project-static/docs/release-notes/version-1.0.html +107 -51
  125. nautobot/project-static/docs/release-notes/version-1.1.html +107 -51
  126. nautobot/project-static/docs/release-notes/version-1.2.html +107 -51
  127. nautobot/project-static/docs/release-notes/version-1.3.html +107 -51
  128. nautobot/project-static/docs/release-notes/version-1.4.html +107 -51
  129. nautobot/project-static/docs/release-notes/version-1.5.html +116 -60
  130. nautobot/project-static/docs/release-notes/version-1.6.html +107 -51
  131. nautobot/project-static/docs/release-notes/version-2.0.html +110 -54
  132. nautobot/project-static/docs/release-notes/version-2.1.html +107 -51
  133. nautobot/project-static/docs/release-notes/version-2.2.html +321 -117
  134. nautobot/project-static/docs/requirements.txt +2 -2
  135. nautobot/project-static/docs/search/search_index.json +1 -1
  136. nautobot/project-static/docs/sitemap.xml +262 -262
  137. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  138. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +107 -51
  139. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +107 -51
  140. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +107 -51
  141. nautobot/project-static/docs/user-guide/administration/configuration/index.html +107 -51
  142. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +251 -164
  143. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +113 -57
  144. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +107 -51
  145. nautobot/project-static/docs/user-guide/administration/guides/caching.html +113 -57
  146. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +107 -51
  147. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +107 -51
  148. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +107 -51
  149. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +113 -57
  150. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +107 -51
  151. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +107 -51
  152. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +107 -51
  153. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +171 -112
  154. nautobot/project-static/docs/user-guide/administration/installation/docker.html +13 -8626
  155. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +117 -61
  156. nautobot/project-static/docs/user-guide/administration/installation/health-checks.html +13 -8614
  157. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +252 -165
  158. nautobot/project-static/docs/user-guide/administration/installation/index.html +165 -192
  159. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +411 -691
  160. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +248 -229
  161. nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +13 -8118
  162. nautobot/project-static/docs/user-guide/administration/installation/services.html +350 -240
  163. nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +8684 -0
  164. nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +8672 -0
  165. nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +8176 -0
  166. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +110 -54
  167. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +110 -54
  168. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +155 -99
  169. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +107 -51
  170. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +109 -53
  171. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +107 -51
  172. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +107 -51
  173. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +107 -51
  174. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +107 -51
  175. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +107 -51
  176. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +107 -51
  177. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +113 -57
  178. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +113 -57
  179. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +107 -51
  180. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +107 -51
  181. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +107 -51
  182. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +107 -51
  183. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +110 -54
  184. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +107 -51
  185. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +110 -54
  186. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +110 -54
  187. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +110 -54
  188. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +110 -54
  189. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +107 -51
  190. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +107 -51
  191. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +113 -57
  192. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +110 -54
  193. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +110 -54
  194. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +110 -54
  195. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +110 -54
  196. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +116 -60
  197. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +110 -54
  198. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +110 -54
  199. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +119 -63
  200. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +110 -54
  201. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +110 -54
  202. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +113 -57
  203. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +113 -57
  204. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +113 -57
  205. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +107 -51
  206. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +113 -57
  207. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +107 -51
  208. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +110 -54
  209. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +110 -54
  210. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +107 -51
  211. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +110 -54
  212. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +110 -54
  213. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +107 -51
  214. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +107 -51
  215. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +107 -51
  216. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +110 -54
  217. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +110 -54
  218. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +110 -54
  219. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +110 -54
  220. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +107 -51
  221. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +113 -57
  222. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +110 -54
  223. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +110 -54
  224. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +110 -54
  225. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +125 -69
  226. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +113 -57
  227. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +128 -72
  228. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +110 -54
  229. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +107 -51
  230. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +110 -54
  231. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +116 -60
  232. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +107 -51
  233. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +113 -57
  234. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +107 -51
  235. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +110 -54
  236. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +107 -51
  237. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +107 -51
  238. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +107 -51
  239. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +107 -51
  240. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +113 -57
  241. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +113 -57
  242. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +107 -51
  243. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +113 -57
  244. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +107 -51
  245. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +107 -51
  246. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +107 -51
  247. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +107 -51
  248. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +107 -51
  249. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +107 -51
  250. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +107 -51
  251. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +107 -51
  252. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +107 -51
  253. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +110 -54
  254. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +113 -57
  255. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +107 -51
  256. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +110 -54
  257. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +107 -51
  258. nautobot/project-static/docs/user-guide/index.html +109 -53
  259. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +107 -51
  260. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +113 -57
  261. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +128 -72
  262. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +107 -51
  263. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +125 -69
  264. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +107 -51
  265. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +110 -54
  266. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +125 -69
  267. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +110 -54
  268. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +107 -51
  269. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +107 -51
  270. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +128 -72
  271. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +113 -57
  272. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +113 -57
  273. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +110 -54
  274. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +119 -63
  275. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +107 -51
  276. nautobot/project-static/docs/user-guide/platform-functionality/note.html +110 -54
  277. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +116 -60
  278. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +110 -54
  279. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +131 -75
  280. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +149 -93
  281. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +110 -54
  282. nautobot/project-static/docs/user-guide/platform-functionality/role.html +107 -51
  283. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +116 -60
  284. nautobot/project-static/docs/user-guide/platform-functionality/status.html +119 -63
  285. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +110 -54
  286. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +137 -81
  287. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +110 -54
  288. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +107 -51
  289. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +110 -54
  290. nautobot/tenancy/views.py +2 -6
  291. nautobot/virtualization/views.py +5 -9
  292. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/METADATA +2 -2
  293. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/RECORD +297 -294
  294. nautobot/project-static/docs/assets/javascripts/bundle.bd41221c.min.js +0 -29
  295. nautobot/project-static/docs/assets/javascripts/bundle.bd41221c.min.js.map +0 -7
  296. nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css +0 -1
  297. nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css.map +0 -1
  298. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/LICENSE.txt +0 -0
  299. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/NOTICE +0 -0
  300. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/WHEEL +0 -0
  301. {nautobot-2.2.3.dist-info → nautobot-2.2.4.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.16">
21
+ <meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
22
22
 
23
23
 
24
24
 
@@ -26,12 +26,20 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../assets/stylesheets/main.bcfcd587.min.css">
29
+ <link rel="stylesheet" href="../../assets/stylesheets/main.66ac8b77.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
33
33
 
34
34
 
35
+
36
+
37
+
38
+
39
+
40
+
41
+ <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></svg>');}</style>
42
+
35
43
 
36
44
 
37
45
 
@@ -200,7 +208,7 @@
200
208
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
201
209
  <div class="md-source__icon md-icon">
202
210
 
203
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
211
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
204
212
  </div>
205
213
  <div class="md-source__repository">
206
214
  GitHub
@@ -360,7 +368,7 @@
360
368
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
361
369
  <div class="md-source__icon md-icon">
362
370
 
363
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
371
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
364
372
  </div>
365
373
  <div class="md-source__repository">
366
374
  GitHub
@@ -523,7 +531,7 @@
523
531
 
524
532
 
525
533
  <span class="md-ellipsis">
526
- Prerequisites
534
+ Getting Started
527
535
  </span>
528
536
 
529
537
 
@@ -624,11 +632,11 @@
624
632
 
625
633
 
626
634
  <li class="md-nav__item">
627
- <a href="../../user-guide/administration/installation/external-authentication.html" class="md-nav__link">
635
+ <a href="../../user-guide/administration/installation/app-install.html" class="md-nav__link">
628
636
 
629
637
 
630
638
  <span class="md-ellipsis">
631
- External Authentication (Optional)
639
+ Installing and Using Apps
632
640
  </span>
633
641
 
634
642
 
@@ -645,11 +653,11 @@
645
653
 
646
654
 
647
655
  <li class="md-nav__item">
648
- <a href="../../user-guide/administration/installation/app-install.html" class="md-nav__link">
656
+ <a href="../../user-guide/administration/installation/external-authentication.html" class="md-nav__link">
649
657
 
650
658
 
651
659
  <span class="md-ellipsis">
652
- Installing and Using Plugins
660
+ External Authentication (Optional)
653
661
  </span>
654
662
 
655
663
 
@@ -659,6 +667,52 @@
659
667
 
660
668
 
661
669
 
670
+ </ul>
671
+ </nav>
672
+
673
+ </li>
674
+
675
+
676
+
677
+
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+ <li class="md-nav__item md-nav__item--nested">
692
+
693
+
694
+
695
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
696
+
697
+
698
+ <label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
699
+
700
+
701
+ <span class="md-ellipsis">
702
+ Installation Extras
703
+ </span>
704
+
705
+
706
+ <span class="md-nav__icon md-icon"></span>
707
+ </label>
708
+
709
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
710
+ <label class="md-nav__title" for="__nav_2_1_2">
711
+ <span class="md-nav__icon md-icon"></span>
712
+ Installation Extras
713
+ </label>
714
+ <ul class="md-nav__list" data-md-scrollfix>
715
+
662
716
 
663
717
 
664
718
 
@@ -666,7 +720,7 @@
666
720
 
667
721
 
668
722
  <li class="md-nav__item">
669
- <a href="../../user-guide/administration/installation/docker.html" class="md-nav__link">
723
+ <a href="../../user-guide/administration/installation-extras/docker.html" class="md-nav__link">
670
724
 
671
725
 
672
726
  <span class="md-ellipsis">
@@ -687,7 +741,7 @@
687
741
 
688
742
 
689
743
  <li class="md-nav__item">
690
- <a href="../../user-guide/administration/installation/health-checks.html" class="md-nav__link">
744
+ <a href="../../user-guide/administration/installation-extras/health-checks.html" class="md-nav__link">
691
745
 
692
746
 
693
747
  <span class="md-ellipsis">
@@ -708,7 +762,7 @@
708
762
 
709
763
 
710
764
  <li class="md-nav__item">
711
- <a href="../../user-guide/administration/installation/selinux-troubleshooting.html" class="md-nav__link">
765
+ <a href="../../user-guide/administration/installation-extras/selinux-troubleshooting.html" class="md-nav__link">
712
766
 
713
767
 
714
768
  <span class="md-ellipsis">
@@ -747,10 +801,10 @@
747
801
 
748
802
 
749
803
 
750
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
804
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3" >
751
805
 
752
806
 
753
- <label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
807
+ <label class="md-nav__link" for="__nav_2_1_3" id="__nav_2_1_3_label" tabindex="0">
754
808
 
755
809
 
756
810
  <span class="md-ellipsis">
@@ -761,8 +815,8 @@
761
815
  <span class="md-nav__icon md-icon"></span>
762
816
  </label>
763
817
 
764
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
765
- <label class="md-nav__title" for="__nav_2_1_2">
818
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_3_label" aria-expanded="false">
819
+ <label class="md-nav__title" for="__nav_2_1_3">
766
820
  <span class="md-nav__icon md-icon"></span>
767
821
  Upgrading
768
822
  </label>
@@ -827,7 +881,7 @@
827
881
 
828
882
 
829
883
 
830
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2_3" >
884
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3_3" >
831
885
 
832
886
 
833
887
 
@@ -843,14 +897,14 @@
843
897
  </a>
844
898
 
845
899
 
846
- <label class="md-nav__link " for="__nav_2_1_2_3" id="__nav_2_1_2_3_label" tabindex="0">
900
+ <label class="md-nav__link " for="__nav_2_1_3_3" id="__nav_2_1_3_3_label" tabindex="0">
847
901
  <span class="md-nav__icon md-icon"></span>
848
902
  </label>
849
903
 
850
904
  </div>
851
905
 
852
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_2_3_label" aria-expanded="false">
853
- <label class="md-nav__title" for="__nav_2_1_2_3">
906
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_3_3_label" aria-expanded="false">
907
+ <label class="md-nav__title" for="__nav_2_1_3_3">
854
908
  <span class="md-nav__icon md-icon"></span>
855
909
  Upgrading Nautobot from v1.X to v2.0
856
910
  </label>
@@ -894,7 +948,7 @@
894
948
 
895
949
 
896
950
 
897
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2_3_2" >
951
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3_3_2" >
898
952
 
899
953
 
900
954
 
@@ -910,14 +964,14 @@
910
964
  </a>
911
965
 
912
966
 
913
- <label class="md-nav__link " for="__nav_2_1_2_3_2" id="__nav_2_1_2_3_2_label" tabindex="0">
967
+ <label class="md-nav__link " for="__nav_2_1_3_3_2" id="__nav_2_1_3_3_2_label" tabindex="0">
914
968
  <span class="md-nav__icon md-icon"></span>
915
969
  </label>
916
970
 
917
971
  </div>
918
972
 
919
- <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_2_1_2_3_2_label" aria-expanded="false">
920
- <label class="md-nav__title" for="__nav_2_1_2_3_2">
973
+ <nav class="md-nav" data-md-level="5" aria-labelledby="__nav_2_1_3_3_2_label" aria-expanded="false">
974
+ <label class="md-nav__title" for="__nav_2_1_3_3_2">
921
975
  <span class="md-nav__icon md-icon"></span>
922
976
  IPAM Migration Guide
923
977
  </label>
@@ -1048,10 +1102,10 @@
1048
1102
 
1049
1103
 
1050
1104
 
1051
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3" >
1105
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4" >
1052
1106
 
1053
1107
 
1054
- <label class="md-nav__link" for="__nav_2_1_3" id="__nav_2_1_3_label" tabindex="0">
1108
+ <label class="md-nav__link" for="__nav_2_1_4" id="__nav_2_1_4_label" tabindex="0">
1055
1109
 
1056
1110
 
1057
1111
  <span class="md-ellipsis">
@@ -1062,8 +1116,8 @@
1062
1116
  <span class="md-nav__icon md-icon"></span>
1063
1117
  </label>
1064
1118
 
1065
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_3_label" aria-expanded="false">
1066
- <label class="md-nav__title" for="__nav_2_1_3">
1119
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_4_label" aria-expanded="false">
1120
+ <label class="md-nav__title" for="__nav_2_1_4">
1067
1121
  <span class="md-nav__icon md-icon"></span>
1068
1122
  Migration
1069
1123
  </label>
@@ -1136,7 +1190,7 @@
1136
1190
 
1137
1191
 
1138
1192
 
1139
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4" >
1193
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5" >
1140
1194
 
1141
1195
 
1142
1196
 
@@ -1152,14 +1206,14 @@
1152
1206
  </a>
1153
1207
 
1154
1208
 
1155
- <label class="md-nav__link " for="__nav_2_1_4" id="__nav_2_1_4_label" tabindex="0">
1209
+ <label class="md-nav__link " for="__nav_2_1_5" id="__nav_2_1_5_label" tabindex="0">
1156
1210
  <span class="md-nav__icon md-icon"></span>
1157
1211
  </label>
1158
1212
 
1159
1213
  </div>
1160
1214
 
1161
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_4_label" aria-expanded="false">
1162
- <label class="md-nav__title" for="__nav_2_1_4">
1215
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_5_label" aria-expanded="false">
1216
+ <label class="md-nav__title" for="__nav_2_1_5">
1163
1217
  <span class="md-nav__icon md-icon"></span>
1164
1218
  Configuration
1165
1219
  </label>
@@ -1245,10 +1299,10 @@
1245
1299
 
1246
1300
 
1247
1301
 
1248
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4_4" >
1302
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5_4" >
1249
1303
 
1250
1304
 
1251
- <label class="md-nav__link" for="__nav_2_1_4_4" id="__nav_2_1_4_4_label" tabindex="0">
1305
+ <label class="md-nav__link" for="__nav_2_1_5_4" id="__nav_2_1_5_4_label" tabindex="0">
1252
1306
 
1253
1307
 
1254
1308
  <span class="md-ellipsis">
@@ -1259,8 +1313,8 @@
1259
1313
  <span class="md-nav__icon md-icon"></span>
1260
1314
  </label>
1261
1315
 
1262
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_4_4_label" aria-expanded="false">
1263
- <label class="md-nav__title" for="__nav_2_1_4_4">
1316
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_5_4_label" aria-expanded="false">
1317
+ <label class="md-nav__title" for="__nav_2_1_5_4">
1264
1318
  <span class="md-nav__icon md-icon"></span>
1265
1319
  External Authentication
1266
1320
  </label>
@@ -1362,10 +1416,10 @@
1362
1416
 
1363
1417
 
1364
1418
 
1365
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5" >
1419
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_6" >
1366
1420
 
1367
1421
 
1368
- <label class="md-nav__link" for="__nav_2_1_5" id="__nav_2_1_5_label" tabindex="0">
1422
+ <label class="md-nav__link" for="__nav_2_1_6" id="__nav_2_1_6_label" tabindex="0">
1369
1423
 
1370
1424
 
1371
1425
  <span class="md-ellipsis">
@@ -1376,8 +1430,8 @@
1376
1430
  <span class="md-nav__icon md-icon"></span>
1377
1431
  </label>
1378
1432
 
1379
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_5_label" aria-expanded="false">
1380
- <label class="md-nav__title" for="__nav_2_1_5">
1433
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_6_label" aria-expanded="false">
1434
+ <label class="md-nav__title" for="__nav_2_1_6">
1381
1435
  <span class="md-nav__icon md-icon"></span>
1382
1436
  Tools
1383
1437
  </label>
@@ -1450,10 +1504,10 @@
1450
1504
 
1451
1505
 
1452
1506
 
1453
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_6" >
1507
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
1454
1508
 
1455
1509
 
1456
- <label class="md-nav__link" for="__nav_2_1_6" id="__nav_2_1_6_label" tabindex="0">
1510
+ <label class="md-nav__link" for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
1457
1511
 
1458
1512
 
1459
1513
  <span class="md-ellipsis">
@@ -1464,8 +1518,8 @@
1464
1518
  <span class="md-nav__icon md-icon"></span>
1465
1519
  </label>
1466
1520
 
1467
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_6_label" aria-expanded="false">
1468
- <label class="md-nav__title" for="__nav_2_1_6">
1521
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
1522
+ <label class="md-nav__title" for="__nav_2_1_7">
1469
1523
  <span class="md-nav__icon md-icon"></span>
1470
1524
  Guides
1471
1525
  </label>
@@ -8331,9 +8385,9 @@ For most purposes, this is not the case you are intending to check!</p>
8331
8385
  <a id="__codelineno-3-3" name="__codelineno-3-3" href="#__codelineno-3-3"></a><span class="n">Device</span><span class="o">.</span><span class="n">ip_addresses</span>
8332
8386
  </code></pre></div>
8333
8387
  <h4 id="foreign-key-related_name-for-abstract-model-classes">Foreign Key <code>related_name</code> for Abstract Model Classes<a class="headerlink" href="#foreign-key-related_name-for-abstract-model-classes" title="Permanent link">&para;</a></h4>
8334
- <div class="admonition version-changed">
8335
- <p class="admonition-title">Changed in version 2.0.0</p>
8336
- </div>
8388
+ <details class="version-changed">
8389
+ <summary>Changed in version 2.0.0</summary>
8390
+ </details>
8337
8391
  <p>If an abstract model class defines a foreign key to a concrete model class, Django's default <code>related_name</code> functionality doesn't provide great options - the best you could normally do for a <code>related_name</code> on a <code>ForeignKey</code> from an abstract base class, for example, would be <code>"%(class)ss"</code> (potentially resulting in related names like <code>"devices"</code> or, less optimally, <code>"ipaddresss"</code>) or <code>"%(app_label)s_%(class)s_related"</code> (resulting in related names like <code>"dcim_device_related"</code> or <code>"ipam_ipaddress_related"</code>, which while at least consistent, are rather clunky).</p>
8338
8392
  <p>Fortunately, Nautobot provides a <code>ForeignKeyWithAutoRelatedName</code> model field class that solves this problem. On any concrete subclass of an abstract base class that uses <code>ForeignKeyWithAutoRelatedName</code> instead of <code>ForeignKey</code>, the <code>related_name</code> will be automatically set based on the concrete subclass's <code>verbose_name_plural</code> value (which in many cases Django is clever enough to automatically derive from the class name, but can also be specified directly on your <code>Meta</code> class if needed). Thus, if your model's <code>verbose_name_plural</code> is "IP addresses", the <code>related_name</code> for the <code>ForeignKeyWithAutoRelatedName</code> will automatically be <code>ip_addresses</code>.</p>
8339
8393
  <div class="admonition note">
@@ -8342,10 +8396,10 @@ For most purposes, this is not the case you are intending to check!</p>
8342
8396
  </div>
8343
8397
  <p>Nautobot doesn't currently have a similar class provided for <code>ManyToManyField</code>; in this case you'll probably be best, for now, to just use <code>related_name="%(app_label)s_%(class)s_related"</code> for any abstract base class's ManyToManyField if a reverse relation is desired.</p>
8344
8398
  <h3 id="slug-field">Slug Field<a class="headerlink" href="#slug-field" title="Permanent link">&para;</a></h3>
8345
- <div class="admonition version-changed">
8346
- <p class="admonition-title">Changed in version 2.0.0</p>
8399
+ <details class="version-changed">
8400
+ <summary>Changed in version 2.0.0</summary>
8347
8401
  <p>Models should generally <strong>not</strong> have a <code>slug</code> field, and should use the model's primary key (UUID) in URL patterns for both the UI and the REST API. All models should have a human-friendly natural key, either a single unique field (typically <code>name</code>) or a minimally complex unique-together set of fields (such as <code>DeviceType</code>'s <code>(manufacturer, model)</code>).</p>
8348
- </div>
8402
+ </details>
8349
8403
  <p>For models that have a strong use case for a <code>slug</code> or similar field (such as <code>GitRepository.slug</code>, which defines a module name for Python imports from the repository, or <code>CustomField.key</code>, which defines the key used to access this field in the REST API and GraphQL), Nautobot provides the <code>AutoSlugField</code> to handle automatically populating the <code>slug</code> field from another field(s). Generally speaking model slugs should be populated from the <code>name</code> field. Below is an example on defining the <code>slug</code> field.</p>
8350
8404
  <div class="highlight"><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">django.db</span> <span class="kn">import</span> <span class="n">models</span>
8351
8405
  <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a>
@@ -8360,17 +8414,17 @@ For most purposes, this is not the case you are intending to check!</p>
8360
8414
  <p>When constructing a CharField or SlugField, always utilize the <code>CHARFIELD_MAX_LENGTH</code> constant unless your field requires a value greater than <code>CHARFIELD_MAX_LENGTH</code>, which is <code>255</code>.</p>
8361
8415
  <h2 id="getting-url-routes">Getting URL Routes<a class="headerlink" href="#getting-url-routes" title="Permanent link">&para;</a></h2>
8362
8416
  <p>When developing new models a need often arises to retrieve a reversible route for a model to access it in either the web UI or the REST API. When this time comes, you <strong>must</strong> use <code>nautobot.core.utils.lookup.get_route_for_model</code>. You <strong>must not</strong> write your own logic to construct route names.</p>
8363
- <div class="admonition version-changed">
8364
- <p class="admonition-title">Changed in version 2.0.0</p>
8417
+ <details class="version-changed">
8418
+ <summary>Changed in version 2.0.0</summary>
8365
8419
  <p><code>get_route_for_model</code> was moved from the <code>nautobot.utilities.utils</code> module to <code>nautobot.core.utils.lookup</code>.</p>
8366
- </div>
8420
+ </details>
8367
8421
  <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="kn">from</span> <span class="nn">nautobot.core.utils.lookup</span> <span class="kn">import</span> <span class="n">get_route_for_model</span>
8368
8422
  </code></pre></div>
8369
8423
  <p>This utility function supports both UI and API views for both Nautobot core apps and Nautobot Apps.</p>
8370
- <div class="admonition version-added">
8371
- <p class="admonition-title">Added in version 1.4.3</p>
8424
+ <details class="version-added">
8425
+ <summary>Added in version 1.4.3</summary>
8372
8426
  <p>Support for generating API routes was added to <code>get_route_for_model()</code> by passing the argument <code>api=True</code>.</p>
8373
- </div>
8427
+ </details>
8374
8428
  <h3 id="ui-routes">UI Routes<a class="headerlink" href="#ui-routes" title="Permanent link">&para;</a></h3>
8375
8429
  <p>Instead of:</p>
8376
8430
  <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="n">route</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">model</span><span class="o">.</span><span class="n">_meta</span><span class="o">.</span><span class="n">app_label</span><span class="si">}</span><span class="s2">:</span><span class="si">{</span><span class="n">model</span><span class="o">.</span><span class="n">_meta</span><span class="o">.</span><span class="n">model_name</span><span class="si">}</span><span class="s2">_list&quot;</span>
@@ -8660,10 +8714,10 @@ For most purposes, this is not the case you are intending to check!</p>
8660
8714
  <li>The good news is that in the core there are not that many of these filter methods defined, but we also don’t want to see them continue to proliferate.</li>
8661
8715
  </ul>
8662
8716
  <h2 id="using-nautobotuiviewset-for-app-development">Using NautobotUIViewSet for App Development<a class="headerlink" href="#using-nautobotuiviewset-for-app-development" title="Permanent link">&para;</a></h2>
8663
- <div class="admonition version-added">
8664
- <p class="admonition-title">Added in version 1.4.0</p>
8717
+ <details class="version-added">
8718
+ <summary>Added in version 1.4.0</summary>
8665
8719
  <p>Using <code>NautobotUIViewSet</code> for <a href="../apps/api/views/nautobotuiviewset.html">App development</a> is strongly recommended.</p>
8666
- </div>
8720
+ </details>
8667
8721
 
8668
8722
 
8669
8723
 
@@ -8681,6 +8735,8 @@ For most purposes, this is not the case you are intending to check!</p>
8681
8735
  </div>
8682
8736
 
8683
8737
 
8738
+ <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var tab,labels=set.querySelector(".tabbed-labels");for(tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
8739
+
8684
8740
  <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
8685
8741
  </div>
8686
8742
 
@@ -8758,7 +8814,7 @@ For most purposes, this is not the case you are intending to check!</p>
8758
8814
 
8759
8815
 
8760
8816
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
8761
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
8817
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
8762
8818
  </a>
8763
8819
 
8764
8820
 
@@ -8766,7 +8822,7 @@ For most purposes, this is not the case you are intending to check!</p>
8766
8822
 
8767
8823
 
8768
8824
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
8769
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
8825
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
8770
8826
  </a>
8771
8827
 
8772
8828
 
@@ -8774,7 +8830,7 @@ For most purposes, this is not the case you are intending to check!</p>
8774
8830
 
8775
8831
 
8776
8832
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
8777
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
8833
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
8778
8834
  </a>
8779
8835
 
8780
8836
 
@@ -8782,7 +8838,7 @@ For most purposes, this is not the case you are intending to check!</p>
8782
8838
 
8783
8839
 
8784
8840
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
8785
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
8841
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
8786
8842
  </a>
8787
8843
 
8788
8844
 
@@ -8790,7 +8846,7 @@ For most purposes, this is not the case you are intending to check!</p>
8790
8846
 
8791
8847
 
8792
8848
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
8793
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
8849
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
8794
8850
  </a>
8795
8851
 
8796
8852
  </div>
@@ -8805,10 +8861,10 @@ For most purposes, this is not the case you are intending to check!</p>
8805
8861
  </div>
8806
8862
 
8807
8863
 
8808
- <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8864
+ <script id="__config" type="application/json">{"base": "../..", "features": ["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.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
8809
8865
 
8810
8866
 
8811
- <script src="../../assets/javascripts/bundle.bd41221c.min.js"></script>
8867
+ <script src="../../assets/javascripts/bundle.3220b9d7.min.js"></script>
8812
8868
 
8813
8869
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
8814
8870