nautobot 2.0.5__py3-none-any.whl → 2.1.0b1__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 (376) hide show
  1. nautobot/circuits/navigation.py +0 -25
  2. nautobot/circuits/templates/circuits/circuit_retrieve.html +0 -9
  3. nautobot/circuits/templates/circuits/providernetwork_retrieve.html +0 -2
  4. nautobot/circuits/tests/test_filters.py +1 -0
  5. nautobot/core/api/serializers.py +15 -5
  6. nautobot/core/api/views.py +18 -19
  7. nautobot/core/choices.py +1 -1
  8. nautobot/core/filters.py +12 -4
  9. nautobot/core/jobs/__init__.py +125 -3
  10. nautobot/core/management/commands/generate_test_data.py +4 -1
  11. nautobot/core/models/fields.py +12 -2
  12. nautobot/core/settings.py +8 -7
  13. nautobot/core/templates/base_django.html +2 -2
  14. nautobot/core/templates/buttons/export.html +57 -30
  15. nautobot/core/templates/generic/object_list.html +2 -2
  16. nautobot/core/templates/generic/object_retrieve.html +8 -1
  17. nautobot/core/templates/home.html +5 -5
  18. nautobot/core/templates/inc/created_updated.html +2 -2
  19. nautobot/core/templates/inc/footer.html +2 -2
  20. nautobot/core/templates/inc/javascript.html +0 -10
  21. nautobot/core/templates/inc/media.html +2 -0
  22. nautobot/core/templates/inc/nav_menu.html +66 -68
  23. nautobot/core/templates/inc/object_details_advanced_panel.html +19 -0
  24. nautobot/core/templates/nautobot_config.py.j2 +10 -4
  25. nautobot/core/templates/panel_table.html +1 -1
  26. nautobot/core/templates/template.css +89 -0
  27. nautobot/core/templates/utilities/templatetags/table_config_form.html +1 -0
  28. nautobot/core/templatetags/buttons.py +7 -2
  29. nautobot/core/testing/views.py +34 -4
  30. nautobot/core/tests/integration/test_home.py +1 -43
  31. nautobot/core/tests/integration/test_navbar.py +10 -64
  32. nautobot/core/tests/integration/test_plugin_home.py +4 -5
  33. nautobot/core/tests/integration/test_plugin_navbar.py +20 -16
  34. nautobot/core/tests/integration/test_theme.py +4 -0
  35. nautobot/core/tests/test_api.py +14 -66
  36. nautobot/core/tests/test_filters.py +127 -0
  37. nautobot/core/tests/test_forms.py +1 -1
  38. nautobot/core/tests/test_graphql.py +165 -2
  39. nautobot/core/tests/test_jobs.py +112 -0
  40. nautobot/core/tests/test_openapi.py +6 -0
  41. nautobot/core/tests/test_views.py +11 -85
  42. nautobot/core/urls.py +6 -1
  43. nautobot/core/utils/lookup.py +28 -0
  44. nautobot/core/utils/requests.py +2 -3
  45. nautobot/core/views/__init__.py +3 -4
  46. nautobot/core/views/generic.py +9 -4
  47. nautobot/core/views/mixins.py +4 -2
  48. nautobot/core/views/renderers.py +5 -0
  49. nautobot/dcim/models/device_components.py +1 -0
  50. nautobot/dcim/navigation.py +10 -165
  51. nautobot/dcim/templates/dcim/location.html +1 -1
  52. nautobot/dcim/tests/features/locations.feature +143 -0
  53. nautobot/dcim/tests/test_api.py +1 -1
  54. nautobot/dcim/tests/test_filters.py +11 -3
  55. nautobot/extras/admin.py +1 -1
  56. nautobot/extras/api/serializers.py +33 -0
  57. nautobot/extras/api/urls.py +6 -0
  58. nautobot/extras/api/views.py +45 -6
  59. nautobot/extras/factory.py +28 -2
  60. nautobot/extras/filters/__init__.py +52 -0
  61. nautobot/extras/filters/mixins.py +4 -29
  62. nautobot/extras/forms/forms.py +43 -0
  63. nautobot/extras/jobs.py +31 -9
  64. nautobot/extras/migrations/0100_fileproxy_job_result.py +32 -0
  65. nautobot/extras/migrations/0101_externalintegration.py +61 -0
  66. nautobot/extras/migrations/0102_set_null_objectchange_contenttype.py +32 -0
  67. nautobot/extras/models/__init__.py +2 -0
  68. nautobot/extras/models/change_logging.py +2 -2
  69. nautobot/extras/models/models.py +96 -16
  70. nautobot/extras/navigation.py +17 -29
  71. nautobot/extras/signals.py +15 -0
  72. nautobot/extras/tables.py +27 -0
  73. nautobot/extras/templates/extras/externalintegration_retrieve.html +37 -0
  74. nautobot/extras/templates/extras/inc/jobresult.html +24 -0
  75. nautobot/extras/templates/extras/jobresult.html +24 -0
  76. nautobot/extras/test_jobs/file_output.py +16 -0
  77. nautobot/extras/tests/test_api.py +92 -0
  78. nautobot/extras/tests/test_filters.py +64 -2
  79. nautobot/extras/tests/test_jobs.py +39 -0
  80. nautobot/extras/tests/test_models.py +34 -0
  81. nautobot/extras/tests/test_views.py +22 -2
  82. nautobot/extras/urls.py +1 -0
  83. nautobot/extras/views.py +15 -0
  84. nautobot/ipam/forms.py +16 -0
  85. nautobot/ipam/models.py +3 -0
  86. nautobot/ipam/navigation.py +2 -59
  87. nautobot/ipam/templates/ipam/ipaddress.html +0 -9
  88. nautobot/ipam/templates/ipam/prefix.html +0 -9
  89. nautobot/ipam/tests/features/prefixes.feature +134 -0
  90. nautobot/ipam/tests/test_filters.py +5 -10
  91. nautobot/ipam/tests/test_views.py +8 -1
  92. nautobot/ipam/views.py +3 -0
  93. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css +191 -191
  94. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
  95. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css +1 -1
  96. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
  97. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +874 -881
  98. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
  99. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
  100. nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
  101. nautobot/project-static/css/base.css +135 -99
  102. nautobot/project-static/css/dark.css +65 -6
  103. nautobot/project-static/docs/404.html +44 -16
  104. nautobot/project-static/docs/apps/index.html +44 -16
  105. nautobot/project-static/docs/apps/nautobot-apps.html +44 -16
  106. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +44 -16
  107. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +44 -16
  108. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +1597 -1457
  109. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +44 -16
  110. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +45 -17
  111. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +44 -16
  112. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +44 -16
  113. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +44 -16
  114. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +44 -16
  115. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +353 -432
  116. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +66 -38
  117. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +44 -16
  118. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +2154 -2307
  119. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +807 -691
  120. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +44 -16
  121. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +44 -16
  122. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +58 -30
  123. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3600 -3456
  124. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +44 -16
  125. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +44 -16
  126. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +101 -75
  127. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +3083 -3019
  128. nautobot/project-static/docs/development/apps/api/configuration-view.html +44 -16
  129. nautobot/project-static/docs/development/apps/api/database-backend-config.html +44 -16
  130. nautobot/project-static/docs/development/apps/api/models/django-admin.html +44 -16
  131. nautobot/project-static/docs/development/apps/api/models/global-search.html +44 -16
  132. nautobot/project-static/docs/development/apps/api/models/graphql.html +44 -16
  133. nautobot/project-static/docs/development/apps/api/models/index.html +44 -16
  134. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +44 -16
  135. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +44 -16
  136. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +44 -16
  137. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +44 -16
  138. nautobot/project-static/docs/development/apps/api/platform-features/index.html +44 -16
  139. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +44 -16
  140. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +44 -16
  141. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +44 -16
  142. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +44 -16
  143. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +44 -16
  144. nautobot/project-static/docs/development/apps/api/prometheus.html +44 -16
  145. nautobot/project-static/docs/development/apps/api/setup.html +44 -16
  146. nautobot/project-static/docs/development/apps/api/testing.html +44 -16
  147. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +44 -16
  148. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +44 -16
  149. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +44 -16
  150. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +44 -16
  151. nautobot/project-static/docs/development/apps/api/ui-extensions/object-detail-views.html +44 -16
  152. nautobot/project-static/docs/development/apps/api/ui-extensions/tabs.html +44 -16
  153. nautobot/project-static/docs/development/apps/api/views/base-template.html +44 -16
  154. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +44 -16
  155. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +44 -16
  156. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +44 -16
  157. nautobot/project-static/docs/development/apps/api/views/index.html +44 -16
  158. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +44 -16
  159. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +44 -16
  160. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +44 -16
  161. nautobot/project-static/docs/development/apps/api/views/notes.html +44 -16
  162. nautobot/project-static/docs/development/apps/api/views/rest-api.html +44 -16
  163. nautobot/project-static/docs/development/apps/api/views/urls.html +44 -16
  164. nautobot/project-static/docs/development/apps/api/views/view-overrides.html +44 -16
  165. nautobot/project-static/docs/development/apps/index.html +44 -16
  166. nautobot/project-static/docs/development/apps/migration/code-updates.html +44 -16
  167. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +44 -16
  168. nautobot/project-static/docs/development/apps/migration/from-v1.html +44 -16
  169. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +44 -16
  170. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +44 -16
  171. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +44 -16
  172. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +44 -16
  173. nautobot/project-static/docs/development/apps/porting-from-netbox.html +44 -16
  174. nautobot/project-static/docs/development/core/application-registry.html +44 -16
  175. nautobot/project-static/docs/development/core/best-practices.html +44 -16
  176. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +44 -16
  177. nautobot/project-static/docs/development/core/extending-models.html +44 -16
  178. nautobot/project-static/docs/development/core/generic-views.html +44 -16
  179. nautobot/project-static/docs/development/core/getting-started.html +44 -16
  180. nautobot/project-static/docs/development/core/homepage.html +44 -16
  181. nautobot/project-static/docs/development/core/index.html +44 -16
  182. nautobot/project-static/docs/development/core/model-features.html +44 -16
  183. nautobot/project-static/docs/development/core/natural-keys.html +44 -16
  184. nautobot/project-static/docs/development/core/navigation-menu.html +44 -21
  185. nautobot/project-static/docs/development/core/react-ui.html +44 -16
  186. nautobot/project-static/docs/development/core/release-checklist.html +44 -16
  187. nautobot/project-static/docs/development/core/role-internals.html +44 -16
  188. nautobot/project-static/docs/development/core/style-guide.html +44 -16
  189. nautobot/project-static/docs/development/core/templates.html +44 -16
  190. nautobot/project-static/docs/development/core/testing.html +44 -16
  191. nautobot/project-static/docs/development/core/user-preferences.html +44 -16
  192. nautobot/project-static/docs/development/index.html +44 -16
  193. nautobot/project-static/docs/development/jobs/index.html +280 -234
  194. nautobot/project-static/docs/development/jobs/migration/from-v1.html +44 -16
  195. nautobot/project-static/docs/index.html +44 -16
  196. nautobot/project-static/docs/objects.inv +0 -0
  197. nautobot/project-static/docs/release-notes/index.html +47 -19
  198. nautobot/project-static/docs/release-notes/version-1.0.html +44 -16
  199. nautobot/project-static/docs/release-notes/version-1.1.html +44 -16
  200. nautobot/project-static/docs/release-notes/version-1.2.html +44 -16
  201. nautobot/project-static/docs/release-notes/version-1.3.html +44 -16
  202. nautobot/project-static/docs/release-notes/version-1.4.html +44 -16
  203. nautobot/project-static/docs/release-notes/version-1.5.html +44 -16
  204. nautobot/project-static/docs/release-notes/version-1.6.html +44 -16
  205. nautobot/project-static/docs/release-notes/version-2.0.html +47 -19
  206. nautobot/project-static/docs/release-notes/version-2.1.html +5724 -0
  207. nautobot/project-static/docs/search/search_index.json +1 -1
  208. nautobot/project-static/docs/sitemap.xml +247 -237
  209. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  210. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +44 -16
  211. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +44 -16
  212. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +44 -16
  213. nautobot/project-static/docs/user-guide/administration/configuration/index.html +44 -16
  214. nautobot/project-static/docs/user-guide/administration/configuration/node-configuration.html +44 -16
  215. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +109 -43
  216. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +44 -16
  217. nautobot/project-static/docs/user-guide/administration/guides/caching.html +44 -16
  218. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +44 -16
  219. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +44 -16
  220. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +44 -16
  221. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +44 -16
  222. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +44 -16
  223. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +48 -19
  224. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +44 -16
  225. nautobot/project-static/docs/user-guide/administration/installation/docker.html +44 -16
  226. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +44 -16
  227. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +44 -16
  228. nautobot/project-static/docs/user-guide/administration/installation/index.html +44 -16
  229. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +44 -16
  230. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +44 -16
  231. nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +44 -16
  232. nautobot/project-static/docs/user-guide/administration/installation/services.html +44 -16
  233. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +44 -16
  234. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +44 -16
  235. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +44 -16
  236. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +44 -16
  237. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +44 -16
  238. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +44 -16
  239. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +44 -16
  240. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +44 -16
  241. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +44 -16
  242. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +44 -16
  243. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +44 -16
  244. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +44 -16
  245. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +44 -16
  246. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +44 -16
  247. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +44 -16
  248. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +44 -16
  249. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +44 -16
  250. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +44 -16
  251. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +44 -16
  252. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +44 -16
  253. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +44 -16
  254. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +44 -16
  255. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +44 -16
  256. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +44 -16
  257. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +44 -16
  258. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +44 -16
  259. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +44 -16
  260. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +44 -16
  261. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +44 -16
  262. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +44 -16
  263. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +44 -16
  264. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +44 -16
  265. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +44 -16
  266. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +44 -16
  267. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +44 -16
  268. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +44 -16
  269. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +44 -16
  270. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +44 -16
  271. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +44 -16
  272. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +44 -16
  273. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +44 -16
  274. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +44 -16
  275. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +44 -16
  276. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +44 -16
  277. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +44 -16
  278. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +44 -16
  279. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +44 -16
  280. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +44 -16
  281. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +44 -16
  282. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +44 -16
  283. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +44 -16
  284. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +44 -16
  285. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +44 -16
  286. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +44 -16
  287. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +44 -16
  288. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +44 -16
  289. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +44 -16
  290. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +44 -16
  291. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +44 -16
  292. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +44 -16
  293. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +44 -16
  294. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +44 -16
  295. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +44 -16
  296. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +44 -16
  297. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +44 -16
  298. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +44 -16
  299. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +44 -16
  300. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +44 -16
  301. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +44 -16
  302. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +44 -16
  303. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +44 -16
  304. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +44 -16
  305. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +44 -16
  306. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +44 -16
  307. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +44 -16
  308. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +44 -16
  309. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +44 -16
  310. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +44 -16
  311. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +44 -16
  312. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +44 -16
  313. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +44 -16
  314. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +44 -16
  315. nautobot/project-static/docs/user-guide/index.html +44 -16
  316. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +110 -16
  317. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +44 -16
  318. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +44 -16
  319. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +44 -16
  320. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +44 -16
  321. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +47 -19
  322. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +5359 -0
  323. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +47 -19
  324. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +44 -16
  325. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +44 -16
  326. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +44 -16
  327. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +44 -16
  328. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +44 -16
  329. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +44 -16
  330. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +44 -16
  331. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +44 -16
  332. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +44 -16
  333. nautobot/project-static/docs/user-guide/platform-functionality/note.html +44 -16
  334. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +44 -16
  335. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +44 -16
  336. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +113 -44
  337. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +44 -16
  338. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +44 -16
  339. nautobot/project-static/docs/user-guide/platform-functionality/role.html +44 -16
  340. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +44 -16
  341. nautobot/project-static/docs/user-guide/platform-functionality/status.html +44 -16
  342. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +44 -16
  343. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +44 -16
  344. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +44 -16
  345. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +44 -16
  346. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +44 -16
  347. nautobot/project-static/fonts/UFL.txt +96 -0
  348. nautobot/project-static/fonts/Ubuntu-Bold.woff2 +0 -0
  349. nautobot/project-static/fonts/Ubuntu-BoldItalic.woff2 +0 -0
  350. nautobot/project-static/fonts/Ubuntu-Italic.woff2 +0 -0
  351. nautobot/project-static/fonts/Ubuntu-Medium.woff2 +0 -0
  352. nautobot/project-static/fonts/Ubuntu-MediumItalic.woff2 +0 -0
  353. nautobot/project-static/fonts/Ubuntu-Regular.woff2 +0 -0
  354. nautobot/project-static/fonts/UbuntuMono-Bold.woff2 +0 -0
  355. nautobot/project-static/fonts/UbuntuMono-BoldItalic.woff2 +0 -0
  356. nautobot/project-static/fonts/UbuntuMono-Italic.woff2 +0 -0
  357. nautobot/project-static/fonts/UbuntuMono-Regular.woff2 +0 -0
  358. nautobot/project-static/img/dark-theme.png +0 -0
  359. nautobot/project-static/img/light-theme.png +0 -0
  360. nautobot/project-static/img/nautobot_chevron.svg +5 -0
  361. nautobot/project-static/img/nautobot_chevron_header.svg +5 -0
  362. nautobot/project-static/img/system-theme.png +0 -0
  363. nautobot/tenancy/navigation.py +0 -13
  364. nautobot/ui/package-lock.json +2 -2
  365. nautobot/ui/package.json +1 -1
  366. nautobot/users/admin.py +44 -0
  367. nautobot/users/migrations/0007_alter_objectpermission_object_types.py +33 -0
  368. nautobot/users/models.py +3 -2
  369. nautobot/virtualization/navigation.py +1 -33
  370. nautobot/virtualization/tests/test_api.py +1 -1
  371. nautobot/virtualization/tests/test_filters.py +1 -1
  372. {nautobot-2.0.5.dist-info → nautobot-2.1.0b1.dist-info}/METADATA +1 -1
  373. {nautobot-2.0.5.dist-info → nautobot-2.1.0b1.dist-info}/RECORD +376 -351
  374. {nautobot-2.0.5.dist-info → nautobot-2.1.0b1.dist-info}/LICENSE.txt +0 -0
  375. {nautobot-2.0.5.dist-info → nautobot-2.1.0b1.dist-info}/WHEEL +0 -0
  376. {nautobot-2.0.5.dist-info → nautobot-2.1.0b1.dist-info}/entry_points.txt +0 -0
@@ -2663,6 +2663,20 @@
2663
2663
 
2664
2664
 
2665
2665
 
2666
+ <li class="md-nav__item">
2667
+ <a href="../externalintegration.html" class="md-nav__link">
2668
+ External Integrations
2669
+ </a>
2670
+ </li>
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2666
2680
  <li class="md-nav__item">
2667
2681
  <a href="../gitrepository.html" class="md-nav__link">
2668
2682
  Git Repositories
@@ -2683,7 +2697,7 @@
2683
2697
 
2684
2698
 
2685
2699
 
2686
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_8" >
2700
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_9" >
2687
2701
 
2688
2702
 
2689
2703
 
@@ -2692,14 +2706,14 @@
2692
2706
  <div class="md-nav__link md-nav__link--index ">
2693
2707
  <a href="../graphql.html">GraphQL</a>
2694
2708
 
2695
- <label for="__nav_2_4_8">
2709
+ <label for="__nav_2_4_9">
2696
2710
  <span class="md-nav__icon md-icon"></span>
2697
2711
  </label>
2698
2712
 
2699
2713
  </div>
2700
2714
 
2701
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_8_label" aria-expanded="false">
2702
- <label class="md-nav__title" for="__nav_2_4_8">
2715
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_9_label" aria-expanded="false">
2716
+ <label class="md-nav__title" for="__nav_2_4_9">
2703
2717
  <span class="md-nav__icon md-icon"></span>
2704
2718
  GraphQL
2705
2719
  </label>
@@ -2751,7 +2765,7 @@
2751
2765
 
2752
2766
 
2753
2767
 
2754
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_10" >
2768
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_11" >
2755
2769
 
2756
2770
 
2757
2771
 
@@ -2760,14 +2774,14 @@
2760
2774
  <div class="md-nav__link md-nav__link--index ">
2761
2775
  <a href="../jobs/index.html">Jobs</a>
2762
2776
 
2763
- <label for="__nav_2_4_10">
2777
+ <label for="__nav_2_4_11">
2764
2778
  <span class="md-nav__icon md-icon"></span>
2765
2779
  </label>
2766
2780
 
2767
2781
  </div>
2768
2782
 
2769
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_10_label" aria-expanded="false">
2770
- <label class="md-nav__title" for="__nav_2_4_10">
2783
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_11_label" aria-expanded="false">
2784
+ <label class="md-nav__title" for="__nav_2_4_11">
2771
2785
  <span class="md-nav__icon md-icon"></span>
2772
2786
  Jobs
2773
2787
  </label>
@@ -2891,7 +2905,7 @@
2891
2905
 
2892
2906
 
2893
2907
 
2894
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_14" checked>
2908
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" checked>
2895
2909
 
2896
2910
 
2897
2911
 
@@ -2900,14 +2914,14 @@
2900
2914
  <div class="md-nav__link md-nav__link--index ">
2901
2915
  <a href="overview.html">REST API</a>
2902
2916
 
2903
- <label for="__nav_2_4_14">
2917
+ <label for="__nav_2_4_15">
2904
2918
  <span class="md-nav__icon md-icon"></span>
2905
2919
  </label>
2906
2920
 
2907
2921
  </div>
2908
2922
 
2909
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_14_label" aria-expanded="true">
2910
- <label class="md-nav__title" for="__nav_2_4_14">
2923
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_15_label" aria-expanded="true">
2924
+ <label class="md-nav__title" for="__nav_2_4_15">
2911
2925
  <span class="md-nav__icon md-icon"></span>
2912
2926
  REST API
2913
2927
  </label>
@@ -3091,17 +3105,17 @@
3091
3105
 
3092
3106
 
3093
3107
 
3094
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_20" >
3108
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
3095
3109
 
3096
3110
 
3097
3111
 
3098
- <label class="md-nav__link" for="__nav_2_4_20" id="__nav_2_4_20_label" tabindex="0">
3112
+ <label class="md-nav__link" for="__nav_2_4_21" id="__nav_2_4_21_label" tabindex="0">
3099
3113
  Users
3100
3114
  <span class="md-nav__icon md-icon"></span>
3101
3115
  </label>
3102
3116
 
3103
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_20_label" aria-expanded="false">
3104
- <label class="md-nav__title" for="__nav_2_4_20">
3117
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_21_label" aria-expanded="false">
3118
+ <label class="md-nav__title" for="__nav_2_4_21">
3105
3119
  <span class="md-nav__icon md-icon"></span>
3106
3120
  Users
3107
3121
  </label>
@@ -4834,6 +4848,20 @@
4834
4848
 
4835
4849
 
4836
4850
 
4851
+ <li class="md-nav__item">
4852
+ <a href="../../../release-notes/version-2.1.html" class="md-nav__link">
4853
+ Version 2.1
4854
+ </a>
4855
+ </li>
4856
+
4857
+
4858
+
4859
+
4860
+
4861
+
4862
+
4863
+
4864
+
4837
4865
  <li class="md-nav__item">
4838
4866
  <a href="../../../release-notes/version-2.0.html" class="md-nav__link">
4839
4867
  Version 2.0
@@ -2663,6 +2663,20 @@
2663
2663
 
2664
2664
 
2665
2665
 
2666
+ <li class="md-nav__item">
2667
+ <a href="../externalintegration.html" class="md-nav__link">
2668
+ External Integrations
2669
+ </a>
2670
+ </li>
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2666
2680
  <li class="md-nav__item">
2667
2681
  <a href="../gitrepository.html" class="md-nav__link">
2668
2682
  Git Repositories
@@ -2683,7 +2697,7 @@
2683
2697
 
2684
2698
 
2685
2699
 
2686
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_8" >
2700
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_9" >
2687
2701
 
2688
2702
 
2689
2703
 
@@ -2692,14 +2706,14 @@
2692
2706
  <div class="md-nav__link md-nav__link--index ">
2693
2707
  <a href="../graphql.html">GraphQL</a>
2694
2708
 
2695
- <label for="__nav_2_4_8">
2709
+ <label for="__nav_2_4_9">
2696
2710
  <span class="md-nav__icon md-icon"></span>
2697
2711
  </label>
2698
2712
 
2699
2713
  </div>
2700
2714
 
2701
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_8_label" aria-expanded="false">
2702
- <label class="md-nav__title" for="__nav_2_4_8">
2715
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_9_label" aria-expanded="false">
2716
+ <label class="md-nav__title" for="__nav_2_4_9">
2703
2717
  <span class="md-nav__icon md-icon"></span>
2704
2718
  GraphQL
2705
2719
  </label>
@@ -2751,7 +2765,7 @@
2751
2765
 
2752
2766
 
2753
2767
 
2754
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_10" >
2768
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_11" >
2755
2769
 
2756
2770
 
2757
2771
 
@@ -2760,14 +2774,14 @@
2760
2774
  <div class="md-nav__link md-nav__link--index ">
2761
2775
  <a href="../jobs/index.html">Jobs</a>
2762
2776
 
2763
- <label for="__nav_2_4_10">
2777
+ <label for="__nav_2_4_11">
2764
2778
  <span class="md-nav__icon md-icon"></span>
2765
2779
  </label>
2766
2780
 
2767
2781
  </div>
2768
2782
 
2769
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_10_label" aria-expanded="false">
2770
- <label class="md-nav__title" for="__nav_2_4_10">
2783
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_11_label" aria-expanded="false">
2784
+ <label class="md-nav__title" for="__nav_2_4_11">
2771
2785
  <span class="md-nav__icon md-icon"></span>
2772
2786
  Jobs
2773
2787
  </label>
@@ -2891,7 +2905,7 @@
2891
2905
 
2892
2906
 
2893
2907
 
2894
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_14" checked>
2908
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" checked>
2895
2909
 
2896
2910
 
2897
2911
 
@@ -2900,14 +2914,14 @@
2900
2914
  <div class="md-nav__link md-nav__link--index ">
2901
2915
  <a href="overview.html">REST API</a>
2902
2916
 
2903
- <label for="__nav_2_4_14">
2917
+ <label for="__nav_2_4_15">
2904
2918
  <span class="md-nav__icon md-icon"></span>
2905
2919
  </label>
2906
2920
 
2907
2921
  </div>
2908
2922
 
2909
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_14_label" aria-expanded="true">
2910
- <label class="md-nav__title" for="__nav_2_4_14">
2923
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_15_label" aria-expanded="true">
2924
+ <label class="md-nav__title" for="__nav_2_4_15">
2911
2925
  <span class="md-nav__icon md-icon"></span>
2912
2926
  REST API
2913
2927
  </label>
@@ -2988,8 +3002,15 @@
2988
3002
  <ul class="md-nav__list">
2989
3003
 
2990
3004
  <li class="md-nav__item">
2991
- <a href="#numeric-fields" class="md-nav__link">
2992
- Numeric Fields
3005
+ <a href="#nullable-fields" class="md-nav__link">
3006
+ Nullable Fields
3007
+ </a>
3008
+
3009
+ </li>
3010
+
3011
+ <li class="md-nav__item">
3012
+ <a href="#numeric-and-datetime-fields" class="md-nav__link">
3013
+ Numeric and Date/Time Fields
2993
3014
  </a>
2994
3015
 
2995
3016
  </li>
@@ -3145,17 +3166,17 @@
3145
3166
 
3146
3167
 
3147
3168
 
3148
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_20" >
3169
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
3149
3170
 
3150
3171
 
3151
3172
 
3152
- <label class="md-nav__link" for="__nav_2_4_20" id="__nav_2_4_20_label" tabindex="0">
3173
+ <label class="md-nav__link" for="__nav_2_4_21" id="__nav_2_4_21_label" tabindex="0">
3153
3174
  Users
3154
3175
  <span class="md-nav__icon md-icon"></span>
3155
3176
  </label>
3156
3177
 
3157
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_20_label" aria-expanded="false">
3158
- <label class="md-nav__title" for="__nav_2_4_20">
3178
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_21_label" aria-expanded="false">
3179
+ <label class="md-nav__title" for="__nav_2_4_21">
3159
3180
  <span class="md-nav__icon md-icon"></span>
3160
3181
  Users
3161
3182
  </label>
@@ -4888,6 +4909,20 @@
4888
4909
 
4889
4910
 
4890
4911
 
4912
+ <li class="md-nav__item">
4913
+ <a href="../../../release-notes/version-2.1.html" class="md-nav__link">
4914
+ Version 2.1
4915
+ </a>
4916
+ </li>
4917
+
4918
+
4919
+
4920
+
4921
+
4922
+
4923
+
4924
+
4925
+
4891
4926
  <li class="md-nav__item">
4892
4927
  <a href="../../../release-notes/version-2.0.html" class="md-nav__link">
4893
4928
  Version 2.0
@@ -5293,8 +5328,15 @@
5293
5328
  <ul class="md-nav__list">
5294
5329
 
5295
5330
  <li class="md-nav__item">
5296
- <a href="#numeric-fields" class="md-nav__link">
5297
- Numeric Fields
5331
+ <a href="#nullable-fields" class="md-nav__link">
5332
+ Nullable Fields
5333
+ </a>
5334
+
5335
+ </li>
5336
+
5337
+ <li class="md-nav__item">
5338
+ <a href="#numeric-and-datetime-fields" class="md-nav__link">
5339
+ Numeric and Date/Time Fields
5298
5340
  </a>
5299
5341
 
5300
5342
  </li>
@@ -5405,43 +5447,70 @@
5405
5447
  <p>Custom field filters are now based on the custom field <code>key</code> string.</p>
5406
5448
  </div>
5407
5449
  <h2 id="lookup-expressions">Lookup Expressions<a class="headerlink" href="#lookup-expressions" title="Permanent link">&para;</a></h2>
5408
- <p>Certain model fields (including, in Nautobot 1.4.0 and later, custom fields of type <code>text</code>, <code>url</code>, <code>select</code>, <code>integer</code>, and <code>date</code>) also support filtering using additional lookup expressions. This allows
5409
- for negation and other context-specific filtering.</p>
5450
+ <p>Certain model fields (including, in Nautobot 1.4.0 and later, custom fields of type <code>text</code>, <code>url</code>, <code>select</code>, <code>integer</code>, and <code>date</code>) also support filtering using additional lookup expressions. This allows for negation and other context-specific filtering.</p>
5410
5451
  <p>These lookup expressions can be applied by adding a suffix to the desired field's name, e.g. <code>mac_address__n</code>. In this case, the filter expression is for negation and it is separated by two underscores. Below are the lookup expressions that are supported across different field types.</p>
5411
- <h3 id="numeric-fields">Numeric Fields<a class="headerlink" href="#numeric-fields" title="Permanent link">&para;</a></h3>
5412
- <p>Numeric-based fields (ASN, VLAN ID, etc.) support these lookup expressions:</p>
5452
+ <h3 id="nullable-fields">Nullable Fields<a class="headerlink" href="#nullable-fields" title="Permanent link">&para;</a></h3>
5453
+ <div class="admonition version-added">
5454
+ <p class="admonition-title">Added in version 2.1.0</p>
5455
+ </div>
5456
+ <p>Filters corresponding to nullable model fields (that is, <code>null=True</code>) of any type support the lookup expression:</p>
5457
+ <ul>
5458
+ <li><code>__isnull</code> - field has a null value (<em>not</em> blank -- a string-based (char) field with value <code>""</code> will match <code>__isnull=False</code>, <em>not</em> <code>__isnull=True</code>)</li>
5459
+ </ul>
5460
+ <h3 id="numeric-and-datetime-fields">Numeric and Date/Time Fields<a class="headerlink" href="#numeric-and-datetime-fields" title="Permanent link">&para;</a></h3>
5461
+ <p>Numeric-based fields (ASN, VLAN ID, etc.) as well as date/time fields (<code>created</code>, <code>last_updated</code>, etc.) support these lookup expressions:</p>
5462
+ <ul>
5463
+ <li><code>__n</code> - not equal to (negation)</li>
5464
+ <li><code>__lt</code> - less than</li>
5465
+ <li><code>__lte</code> - less than or equal</li>
5466
+ <li><code>__gt</code> - greater than</li>
5467
+ <li><code>__gte</code> - greater than or equal</li>
5468
+ </ul>
5469
+ <div class="admonition version-added">
5470
+ <p class="admonition-title">Added in version 2.1.0</p>
5413
5471
  <ul>
5414
- <li><code>n</code> - not equal to (negation)</li>
5415
- <li><code>lt</code> - less than</li>
5416
- <li><code>lte</code> - less than or equal</li>
5417
- <li><code>gt</code> - greater than</li>
5418
- <li><code>gte</code> - greater than or equal</li>
5472
+ <li><code>__isnull</code> - as above, only if this field is nullable (most numeric fields in Nautobot are not)</li>
5419
5473
  </ul>
5474
+ </div>
5420
5475
  <h3 id="string-fields">String Fields<a class="headerlink" href="#string-fields" title="Permanent link">&para;</a></h3>
5421
5476
  <p>String-based (char) fields (Name, Address, etc.) support these lookup expressions:</p>
5422
5477
  <ul>
5423
- <li><code>n</code> - not equal to (negation)</li>
5424
- <li><code>ic</code> - case-insensitive contains</li>
5425
- <li><code>nic</code> - negated case-insensitive contains</li>
5426
- <li><code>isw</code> - case-insensitive starts-with</li>
5427
- <li><code>nisw</code> - negated case-insensitive starts-with</li>
5428
- <li><code>iew</code> - case-insensitive ends-with</li>
5429
- <li><code>niew</code> - negated case-insensitive ends-with</li>
5430
- <li><code>ie</code> - case-insensitive exact match</li>
5431
- <li><code>nie</code> - negated case-insensitive exact match</li>
5478
+ <li><code>__n</code> - not equal to (negation)</li>
5479
+ <li><code>__ic</code> - case-insensitive contains</li>
5480
+ <li><code>__nic</code> - negated case-insensitive contains</li>
5481
+ <li><code>__isw</code> - case-insensitive starts-with</li>
5482
+ <li><code>__nisw</code> - negated case-insensitive starts-with</li>
5483
+ <li><code>__iew</code> - case-insensitive ends-with</li>
5484
+ <li><code>__niew</code> - negated case-insensitive ends-with</li>
5485
+ <li><code>__ie</code> - case-insensitive exact match</li>
5486
+ <li><code>__nie</code> - negated case-insensitive exact match</li>
5432
5487
  </ul>
5433
5488
  <div class="admonition version-added">
5434
5489
  <p class="admonition-title">Added in version 1.3.0</p>
5435
5490
  <ul>
5436
- <li><code>re</code> - case-sensitive regular expression match</li>
5437
- <li><code>nre</code> - negated case-sensitive regular expression match</li>
5438
- <li><code>ire</code> - case-insensitive regular expression match</li>
5439
- <li><code>nire</code> - negated case-insensitive regular expression match</li>
5491
+ <li><code>__re</code> - case-sensitive regular expression match</li>
5492
+ <li><code>__nre</code> - negated case-sensitive regular expression match</li>
5493
+ <li><code>__ire</code> - case-insensitive regular expression match</li>
5494
+ <li><code>__nire</code> - negated case-insensitive regular expression match</li>
5495
+ </ul>
5496
+ </div>
5497
+ <div class="admonition version-added">
5498
+ <p class="admonition-title">Added in version 2.1.0</p>
5499
+ <ul>
5500
+ <li><code>__isnull</code> - as above, only if this field is nullable (most string fields in Nautobot are not)</li>
5440
5501
  </ul>
5441
5502
  </div>
5442
5503
  <h3 id="foreign-keys-other-fields">Foreign Keys &amp; Other Fields<a class="headerlink" href="#foreign-keys-other-fields" title="Permanent link">&para;</a></h3>
5443
- <p>Certain other fields, namely foreign key relationships support just the negation
5444
- expression: <code>n</code>.</p>
5504
+ <p>Certain other fields, namely foreign key relationships support the lookup expression:</p>
5505
+ <ul>
5506
+ <li><code>__n</code> - not equal to (negation)</li>
5507
+ </ul>
5508
+ <div class="admonition version-added">
5509
+ <p class="admonition-title">Added in version 2.1.0</p>
5510
+ <ul>
5511
+ <li><code>__isnull</code> - as above, only if this field is nullable</li>
5512
+ </ul>
5513
+ </div>
5445
5514
  <h3 id="network-and-host-fields">Network and Host Fields<a class="headerlink" href="#network-and-host-fields" title="Permanent link">&para;</a></h3>
5446
5515
  <p>There are <a href="https://docs.djangoproject.com/en/3.2/howto/custom-lookups/">Custom Lookups</a> built for the <code>VarbinaryIPField</code> field types. While
5447
5516
  the <code>VarbinaryIPField</code> is applied to fields for network, host, and broadcast, the below filters only apply to network and host. The design
@@ -2663,6 +2663,20 @@
2663
2663
 
2664
2664
 
2665
2665
 
2666
+ <li class="md-nav__item">
2667
+ <a href="../externalintegration.html" class="md-nav__link">
2668
+ External Integrations
2669
+ </a>
2670
+ </li>
2671
+
2672
+
2673
+
2674
+
2675
+
2676
+
2677
+
2678
+
2679
+
2666
2680
  <li class="md-nav__item">
2667
2681
  <a href="../gitrepository.html" class="md-nav__link">
2668
2682
  Git Repositories
@@ -2683,7 +2697,7 @@
2683
2697
 
2684
2698
 
2685
2699
 
2686
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_8" >
2700
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_9" >
2687
2701
 
2688
2702
 
2689
2703
 
@@ -2692,14 +2706,14 @@
2692
2706
  <div class="md-nav__link md-nav__link--index ">
2693
2707
  <a href="../graphql.html">GraphQL</a>
2694
2708
 
2695
- <label for="__nav_2_4_8">
2709
+ <label for="__nav_2_4_9">
2696
2710
  <span class="md-nav__icon md-icon"></span>
2697
2711
  </label>
2698
2712
 
2699
2713
  </div>
2700
2714
 
2701
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_8_label" aria-expanded="false">
2702
- <label class="md-nav__title" for="__nav_2_4_8">
2715
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_9_label" aria-expanded="false">
2716
+ <label class="md-nav__title" for="__nav_2_4_9">
2703
2717
  <span class="md-nav__icon md-icon"></span>
2704
2718
  GraphQL
2705
2719
  </label>
@@ -2751,7 +2765,7 @@
2751
2765
 
2752
2766
 
2753
2767
 
2754
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_10" >
2768
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_11" >
2755
2769
 
2756
2770
 
2757
2771
 
@@ -2760,14 +2774,14 @@
2760
2774
  <div class="md-nav__link md-nav__link--index ">
2761
2775
  <a href="../jobs/index.html">Jobs</a>
2762
2776
 
2763
- <label for="__nav_2_4_10">
2777
+ <label for="__nav_2_4_11">
2764
2778
  <span class="md-nav__icon md-icon"></span>
2765
2779
  </label>
2766
2780
 
2767
2781
  </div>
2768
2782
 
2769
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_10_label" aria-expanded="false">
2770
- <label class="md-nav__title" for="__nav_2_4_10">
2783
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_11_label" aria-expanded="false">
2784
+ <label class="md-nav__title" for="__nav_2_4_11">
2771
2785
  <span class="md-nav__icon md-icon"></span>
2772
2786
  Jobs
2773
2787
  </label>
@@ -2891,7 +2905,7 @@
2891
2905
 
2892
2906
 
2893
2907
 
2894
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_14" checked>
2908
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" checked>
2895
2909
 
2896
2910
 
2897
2911
 
@@ -2900,14 +2914,14 @@
2900
2914
  <div class="md-nav__link md-nav__link--index md-nav__link--active">
2901
2915
  <a href="overview.html">REST API</a>
2902
2916
 
2903
- <label for="__nav_2_4_14">
2917
+ <label for="__nav_2_4_15">
2904
2918
  <span class="md-nav__icon md-icon"></span>
2905
2919
  </label>
2906
2920
 
2907
2921
  </div>
2908
2922
 
2909
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_14_label" aria-expanded="true">
2910
- <label class="md-nav__title" for="__nav_2_4_14">
2923
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_15_label" aria-expanded="true">
2924
+ <label class="md-nav__title" for="__nav_2_4_15">
2911
2925
  <span class="md-nav__icon md-icon"></span>
2912
2926
  REST API
2913
2927
  </label>
@@ -3043,17 +3057,17 @@
3043
3057
 
3044
3058
 
3045
3059
 
3046
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_20" >
3060
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
3047
3061
 
3048
3062
 
3049
3063
 
3050
- <label class="md-nav__link" for="__nav_2_4_20" id="__nav_2_4_20_label" tabindex="0">
3064
+ <label class="md-nav__link" for="__nav_2_4_21" id="__nav_2_4_21_label" tabindex="0">
3051
3065
  Users
3052
3066
  <span class="md-nav__icon md-icon"></span>
3053
3067
  </label>
3054
3068
 
3055
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_20_label" aria-expanded="false">
3056
- <label class="md-nav__title" for="__nav_2_4_20">
3069
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_21_label" aria-expanded="false">
3070
+ <label class="md-nav__title" for="__nav_2_4_21">
3057
3071
  <span class="md-nav__icon md-icon"></span>
3058
3072
  Users
3059
3073
  </label>
@@ -4786,6 +4800,20 @@
4786
4800
 
4787
4801
 
4788
4802
 
4803
+ <li class="md-nav__item">
4804
+ <a href="../../../release-notes/version-2.1.html" class="md-nav__link">
4805
+ Version 2.1
4806
+ </a>
4807
+ </li>
4808
+
4809
+
4810
+
4811
+
4812
+
4813
+
4814
+
4815
+
4816
+
4789
4817
  <li class="md-nav__item">
4790
4818
  <a href="../../../release-notes/version-2.0.html" class="md-nav__link">
4791
4819
  Version 2.0