nautobot 2.3.16__py3-none-any.whl → 2.4.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 (675) hide show
  1. nautobot/__init__.py +15 -0
  2. nautobot/apps/api.py +0 -2
  3. nautobot/apps/config.py +32 -3
  4. nautobot/apps/events.py +19 -0
  5. nautobot/apps/exceptions.py +0 -2
  6. nautobot/apps/ui.py +44 -9
  7. nautobot/apps/utils.py +0 -8
  8. nautobot/apps/views.py +2 -0
  9. nautobot/circuits/navigation.py +0 -57
  10. nautobot/circuits/tables.py +1 -2
  11. nautobot/circuits/templates/circuits/circuit_retrieve.html +0 -71
  12. nautobot/circuits/templates/circuits/inc/circuit_termination.html +6 -64
  13. nautobot/circuits/templates/circuits/inc/circuit_termination_cable_fragment.html +40 -0
  14. nautobot/circuits/templates/circuits/inc/circuit_termination_header_extra_content.html +26 -0
  15. nautobot/circuits/templates/circuits/provider_retrieve.html +0 -76
  16. nautobot/circuits/tests/integration/test_relationships.py +33 -24
  17. nautobot/circuits/tests/test_filters.py +4 -8
  18. nautobot/circuits/views.py +143 -26
  19. nautobot/cloud/factory.py +4 -1
  20. nautobot/cloud/models.py +1 -1
  21. nautobot/cloud/tests/test_filters.py +5 -4
  22. nautobot/core/api/fields.py +5 -5
  23. nautobot/core/api/metadata.py +28 -256
  24. nautobot/core/api/pagination.py +3 -2
  25. nautobot/core/api/renderers.py +3 -0
  26. nautobot/core/api/serializers.py +24 -244
  27. nautobot/core/api/urls.py +3 -4
  28. nautobot/core/api/utils.py +0 -62
  29. nautobot/core/api/views.py +48 -158
  30. nautobot/core/apps/__init__.py +22 -578
  31. nautobot/core/celery/__init__.py +13 -0
  32. nautobot/core/celery/log.py +4 -4
  33. nautobot/core/celery/schedulers.py +48 -3
  34. nautobot/core/cli/__init__.py +8 -0
  35. nautobot/core/constants.py +7 -0
  36. nautobot/core/events/__init__.py +116 -0
  37. nautobot/core/events/base.py +27 -0
  38. nautobot/core/events/exceptions.py +10 -0
  39. nautobot/core/events/redis_broker.py +48 -0
  40. nautobot/core/events/syslog_broker.py +19 -0
  41. nautobot/core/exceptions.py +0 -6
  42. nautobot/core/filters.py +16 -21
  43. nautobot/core/fixtures/user-data.json +59 -0
  44. nautobot/core/forms/fields.py +53 -8
  45. nautobot/core/forms/utils.py +2 -1
  46. nautobot/core/graphql/schema.py +3 -1
  47. nautobot/core/graphql/types.py +1 -1
  48. nautobot/core/jobs/__init__.py +4 -4
  49. nautobot/core/jobs/cleanup.py +13 -49
  50. nautobot/core/jobs/groups.py +1 -1
  51. nautobot/core/management/commands/generate_test_data.py +21 -0
  52. nautobot/core/management/commands/validate_models.py +1 -1
  53. nautobot/core/middleware.py +16 -0
  54. nautobot/core/models/__init__.py +1 -1
  55. nautobot/core/models/fields.py +11 -7
  56. nautobot/core/models/query_functions.py +2 -2
  57. nautobot/core/models/tree_queries.py +3 -6
  58. nautobot/core/settings.py +44 -7
  59. nautobot/core/settings.yaml +86 -8
  60. nautobot/core/tables.py +15 -65
  61. nautobot/core/tasks.py +1 -1
  62. nautobot/core/templates/components/button/default.html +7 -0
  63. nautobot/core/templates/components/button/dropdown.html +20 -0
  64. nautobot/core/templates/components/layout/one_over_two.html +19 -0
  65. nautobot/core/templates/components/layout/two_over_one.html +19 -0
  66. nautobot/core/templates/components/panel/body_content_data_table.html +27 -0
  67. nautobot/core/templates/components/panel/body_content_objects_table.html +4 -0
  68. nautobot/core/templates/components/panel/body_content_tags.html +6 -0
  69. nautobot/core/templates/components/panel/body_content_text.html +12 -0
  70. nautobot/core/templates/components/panel/body_wrapper_generic.html +3 -0
  71. nautobot/core/templates/components/panel/body_wrapper_key_value_table.html +3 -0
  72. nautobot/core/templates/components/panel/body_wrapper_table.html +3 -0
  73. nautobot/core/templates/components/panel/footer_contacts_table.html +20 -0
  74. nautobot/core/templates/components/panel/footer_content_table.html +14 -0
  75. nautobot/core/templates/components/panel/grouping_toggle.html +14 -0
  76. nautobot/core/templates/components/panel/header_extra_content_table.html +3 -0
  77. nautobot/core/templates/components/panel/panel.html +16 -0
  78. nautobot/core/templates/components/panel/stats_panel_body.html +8 -0
  79. nautobot/core/templates/components/tab/content_wrapper.html +3 -0
  80. nautobot/core/templates/components/tab/label_wrapper.html +5 -0
  81. nautobot/core/templates/components/tab/label_wrapper_distinct_view.html +3 -0
  82. nautobot/core/templates/generic/object_retrieve.html +28 -17
  83. nautobot/core/templates/inc/computed_fields/panel_data.html +4 -7
  84. nautobot/core/templates/inc/custom_fields/panel.html +2 -2
  85. nautobot/core/templates/inc/custom_fields/panel_data.html +4 -7
  86. nautobot/core/templates/inc/footer.html +1 -0
  87. nautobot/core/templates/inc/media.html +0 -3
  88. nautobot/core/templates/inc/nav_menu.html +1 -1
  89. nautobot/core/templates/inc/relationships_panel.html +1 -1
  90. nautobot/core/templates/nautobot_config.py.j2 +3 -3
  91. nautobot/core/templates/panel_table.html +12 -0
  92. nautobot/core/templates/search.html +0 -7
  93. nautobot/core/templates/utilities/render_jinja2.html +117 -0
  94. nautobot/core/templatetags/helpers.py +101 -12
  95. nautobot/core/templatetags/ui_framework.py +40 -0
  96. nautobot/core/testing/api.py +23 -128
  97. nautobot/core/testing/context.py +18 -0
  98. nautobot/core/testing/filters.py +41 -58
  99. nautobot/core/testing/mixins.py +2 -7
  100. nautobot/core/testing/views.py +25 -123
  101. nautobot/core/tests/integration/test_app_home.py +1 -0
  102. nautobot/core/tests/integration/test_app_navbar.py +1 -0
  103. nautobot/core/tests/integration/test_filters.py +2 -0
  104. nautobot/core/tests/integration/test_home.py +1 -0
  105. nautobot/core/tests/integration/test_navbar.py +1 -0
  106. nautobot/core/tests/integration/test_view_authentication.py +1 -2
  107. nautobot/core/tests/nautobot_config.py +198 -0
  108. nautobot/core/tests/runner.py +3 -3
  109. nautobot/core/tests/test_api.py +82 -201
  110. nautobot/core/tests/test_csv.py +3 -25
  111. nautobot/core/tests/test_events.py +214 -0
  112. nautobot/core/tests/test_jinja_filters.py +1 -0
  113. nautobot/core/tests/test_jobs.py +84 -13
  114. nautobot/core/tests/test_navigations.py +7 -241
  115. nautobot/core/tests/test_templatetags_helpers.py +16 -0
  116. nautobot/core/tests/test_ui.py +150 -0
  117. nautobot/core/tests/test_utils.py +0 -25
  118. nautobot/core/tests/test_views.py +123 -31
  119. nautobot/core/ui/__init__.py +0 -0
  120. nautobot/core/ui/base.py +11 -0
  121. nautobot/core/ui/choices.py +44 -0
  122. nautobot/core/ui/homepage.py +167 -0
  123. nautobot/core/ui/nav.py +279 -0
  124. nautobot/core/ui/object_detail.py +1841 -0
  125. nautobot/core/ui/utils.py +36 -0
  126. nautobot/core/urls.py +4 -9
  127. nautobot/core/utils/config.py +30 -3
  128. nautobot/core/utils/lookup.py +20 -13
  129. nautobot/core/views/__init__.py +6 -1
  130. nautobot/core/views/generic.py +47 -52
  131. nautobot/core/views/mixins.py +15 -25
  132. nautobot/core/views/paginator.py +8 -5
  133. nautobot/core/views/renderers.py +3 -3
  134. nautobot/core/views/utils.py +11 -0
  135. nautobot/core/wsgi.py +3 -3
  136. nautobot/dcim/api/serializers.py +80 -179
  137. nautobot/dcim/api/urls.py +5 -0
  138. nautobot/dcim/api/views.py +17 -4
  139. nautobot/dcim/apps.py +1 -0
  140. nautobot/dcim/choices.py +28 -0
  141. nautobot/dcim/factory.py +58 -0
  142. nautobot/dcim/filters/__init__.py +197 -24
  143. nautobot/dcim/forms.py +203 -12
  144. nautobot/dcim/graphql/types.py +2 -2
  145. nautobot/dcim/migrations/0063_interfacevdcassignment_virtualdevicecontext_and_more.py +165 -0
  146. nautobot/dcim/migrations/0064_virtualdevicecontext_status_data_migration.py +28 -0
  147. nautobot/dcim/migrations/0065_controller_capabilities_and_more.py +29 -0
  148. nautobot/dcim/migrations/0066_controllermanageddevicegroup_radio_profiles_and_more.py +33 -0
  149. nautobot/dcim/models/__init__.py +4 -0
  150. nautobot/dcim/models/device_component_templates.py +2 -2
  151. nautobot/dcim/models/device_components.py +20 -22
  152. nautobot/dcim/models/devices.py +173 -4
  153. nautobot/dcim/models/locations.py +3 -3
  154. nautobot/dcim/models/power.py +5 -6
  155. nautobot/dcim/models/racks.py +6 -6
  156. nautobot/dcim/navigation.py +25 -224
  157. nautobot/dcim/signals.py +44 -0
  158. nautobot/dcim/tables/__init__.py +5 -3
  159. nautobot/dcim/tables/devices.py +96 -2
  160. nautobot/dcim/tables/devicetypes.py +2 -2
  161. nautobot/dcim/templates/dcim/controller/base.html +10 -0
  162. nautobot/dcim/templates/dcim/controller_create.html +1 -0
  163. nautobot/dcim/templates/dcim/controller_retrieve.html +5 -1
  164. nautobot/dcim/templates/dcim/controller_wirelessnetworks.html +25 -0
  165. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +66 -0
  166. nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +46 -0
  167. nautobot/dcim/templates/dcim/device/base.html +6 -42
  168. nautobot/dcim/templates/dcim/device/wireless.html +73 -0
  169. nautobot/dcim/templates/dcim/device.html +3 -1
  170. nautobot/dcim/templates/dcim/interface.html +1 -0
  171. nautobot/dcim/templates/dcim/interface_edit.html +1 -0
  172. nautobot/dcim/templates/dcim/locationtype.html +0 -107
  173. nautobot/dcim/templates/dcim/locationtype_retrieve.html +8 -0
  174. nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +76 -0
  175. nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +34 -0
  176. nautobot/dcim/tests/test_api.py +172 -61
  177. nautobot/dcim/tests/test_filters.py +171 -109
  178. nautobot/dcim/tests/test_forms.py +2 -51
  179. nautobot/dcim/tests/test_graphql.py +0 -52
  180. nautobot/dcim/tests/test_models.py +126 -4
  181. nautobot/dcim/tests/test_signals.py +1 -0
  182. nautobot/dcim/tests/test_views.py +103 -11
  183. nautobot/dcim/urls.py +72 -27
  184. nautobot/dcim/utils.py +2 -2
  185. nautobot/dcim/views.py +369 -62
  186. nautobot/extras/api/customfields.py +2 -2
  187. nautobot/extras/api/serializers.py +91 -75
  188. nautobot/extras/api/urls.py +4 -0
  189. nautobot/extras/api/views.py +78 -15
  190. nautobot/extras/choices.py +13 -0
  191. nautobot/extras/constants.py +0 -1
  192. nautobot/extras/context_managers.py +23 -6
  193. nautobot/extras/datasources/git.py +4 -1
  194. nautobot/extras/factory.py +27 -0
  195. nautobot/extras/filters/__init__.py +59 -0
  196. nautobot/extras/forms/forms.py +125 -30
  197. nautobot/extras/forms/mixins.py +3 -11
  198. nautobot/extras/graphql/types.py +25 -1
  199. nautobot/extras/group_sync.py +3 -3
  200. nautobot/extras/health_checks.py +2 -1
  201. nautobot/extras/jobs.py +62 -26
  202. nautobot/extras/management/__init__.py +1 -0
  203. nautobot/extras/management/commands/runjob.py +7 -79
  204. nautobot/extras/management/commands/runjob_with_job_result.py +46 -0
  205. nautobot/extras/management/utils.py +87 -0
  206. nautobot/extras/managers.py +1 -3
  207. nautobot/extras/migrations/0018_joblog_data_migration.py +9 -7
  208. nautobot/extras/migrations/0117_create_job_queue_model.py +129 -0
  209. nautobot/extras/migrations/0118_task_queue_to_job_queue_migration.py +78 -0
  210. nautobot/extras/migrations/0119_remove_task_queues_from_job_and_queue_from_scheduled_job.py +28 -0
  211. nautobot/extras/models/__init__.py +4 -0
  212. nautobot/extras/models/change_logging.py +7 -3
  213. nautobot/extras/models/customfields.py +11 -12
  214. nautobot/extras/models/groups.py +9 -13
  215. nautobot/extras/models/jobs.py +218 -37
  216. nautobot/extras/models/models.py +2 -2
  217. nautobot/extras/models/relationships.py +69 -1
  218. nautobot/extras/models/secrets.py +5 -0
  219. nautobot/extras/navigation.py +20 -262
  220. nautobot/extras/plugins/__init__.py +56 -32
  221. nautobot/extras/plugins/marketplace_manifest.yml +450 -0
  222. nautobot/extras/plugins/urls.py +1 -0
  223. nautobot/extras/plugins/views.py +48 -1
  224. nautobot/extras/signals.py +39 -1
  225. nautobot/extras/tables.py +40 -6
  226. nautobot/extras/templates/extras/externalintegration_retrieve.html +0 -47
  227. nautobot/extras/templates/extras/inc/tags_panel.html +1 -5
  228. nautobot/extras/templates/extras/job_bulk_edit.html +2 -1
  229. nautobot/extras/templates/extras/job_detail.html +36 -6
  230. nautobot/extras/templates/extras/job_edit.html +5 -2
  231. nautobot/extras/templates/extras/job_list.html +2 -7
  232. nautobot/extras/templates/extras/jobqueue_retrieve.html +44 -0
  233. nautobot/extras/templates/extras/marketplace.html +278 -0
  234. nautobot/extras/templates/extras/plugins_list.html +35 -1
  235. nautobot/extras/templates/extras/plugins_tiles.html +79 -0
  236. nautobot/extras/templates/extras/role_retrieve.html +16 -0
  237. nautobot/extras/templates/extras/secret.html +0 -65
  238. nautobot/extras/templates/extras/secret_check.js +16 -0
  239. nautobot/extras/templates/extras/secret_create.html +114 -0
  240. nautobot/extras/templates/extras/secret_edit.html +1 -114
  241. nautobot/extras/templates/extras/secretsgroup_edit.html +1 -1
  242. nautobot/extras/templates/extras/templatetags/plugin_object_detail_tabs.html +2 -0
  243. nautobot/extras/templatetags/job_buttons.py +5 -4
  244. nautobot/extras/templatetags/plugins.py +69 -6
  245. nautobot/extras/test_jobs/api_test_job.py +1 -1
  246. nautobot/extras/test_jobs/atomic_transaction.py +2 -2
  247. nautobot/extras/test_jobs/dry_run.py +1 -1
  248. nautobot/extras/test_jobs/fail.py +5 -5
  249. nautobot/extras/test_jobs/file_output.py +1 -1
  250. nautobot/extras/test_jobs/file_upload_fail.py +1 -1
  251. nautobot/extras/test_jobs/file_upload_pass.py +1 -1
  252. nautobot/extras/test_jobs/ipaddress_vars.py +1 -3
  253. nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
  254. nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
  255. nautobot/extras/test_jobs/log_redaction.py +1 -1
  256. nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
  257. nautobot/extras/test_jobs/modify_db.py +1 -1
  258. nautobot/extras/test_jobs/object_var_optional.py +1 -1
  259. nautobot/extras/test_jobs/object_var_required.py +1 -1
  260. nautobot/extras/test_jobs/object_vars.py +1 -1
  261. nautobot/extras/test_jobs/pass.py +3 -3
  262. nautobot/extras/test_jobs/profiling.py +1 -1
  263. nautobot/extras/test_jobs/relative_import.py +3 -3
  264. nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
  265. nautobot/extras/test_jobs/task_queues.py +1 -1
  266. nautobot/extras/tests/integration/test_plugin_banner.py +2 -0
  267. nautobot/extras/tests/test_api.py +157 -55
  268. nautobot/extras/tests/test_context_managers.py +4 -1
  269. nautobot/extras/tests/test_customfields.py +1 -1
  270. nautobot/extras/tests/test_datasources.py +1 -2
  271. nautobot/extras/tests/test_dynamicgroups.py +1 -1
  272. nautobot/extras/tests/test_filters.py +219 -535
  273. nautobot/extras/tests/test_forms.py +1 -20
  274. nautobot/extras/tests/test_job_variables.py +73 -152
  275. nautobot/extras/tests/test_jobs.py +43 -54
  276. nautobot/extras/tests/test_models.py +71 -16
  277. nautobot/extras/tests/test_relationships.py +5 -2
  278. nautobot/extras/tests/test_utils.py +23 -2
  279. nautobot/extras/tests/test_views.py +183 -43
  280. nautobot/extras/tests/test_webhooks.py +2 -1
  281. nautobot/extras/urls.py +2 -20
  282. nautobot/extras/utils.py +118 -4
  283. nautobot/extras/views.py +203 -92
  284. nautobot/extras/webhooks.py +5 -2
  285. nautobot/ipam/api/fields.py +3 -3
  286. nautobot/ipam/api/serializers.py +36 -137
  287. nautobot/ipam/api/views.py +93 -62
  288. nautobot/ipam/lookups.py +62 -101
  289. nautobot/ipam/models.py +11 -63
  290. nautobot/ipam/navigation.py +0 -90
  291. nautobot/ipam/querysets.py +2 -2
  292. nautobot/ipam/tables.py +6 -20
  293. nautobot/ipam/templates/ipam/routetarget.html +0 -28
  294. nautobot/ipam/templates/ipam/vrf.html +0 -47
  295. nautobot/ipam/tests/test_api.py +8 -419
  296. nautobot/ipam/tests/test_filters.py +39 -119
  297. nautobot/ipam/tests/test_forms.py +47 -51
  298. nautobot/ipam/tests/test_migrations.py +30 -30
  299. nautobot/ipam/tests/test_models.py +0 -41
  300. nautobot/ipam/tests/test_querysets.py +1 -63
  301. nautobot/ipam/urls.py +3 -69
  302. nautobot/ipam/utils/__init__.py +0 -24
  303. nautobot/ipam/views.py +153 -198
  304. nautobot/project-static/css/base.css +38 -3
  305. nautobot/project-static/docs/404.html +421 -19
  306. nautobot/project-static/docs/apps/index.html +421 -19
  307. nautobot/project-static/docs/apps/nautobot-apps.html +421 -19
  308. nautobot/project-static/docs/assets/extra.css +5 -1
  309. nautobot/project-static/docs/assets/javascripts/{bundle.88dd0f4e.min.js → bundle.83f73b43.min.js} +2 -2
  310. nautobot/project-static/docs/assets/javascripts/{bundle.88dd0f4e.min.js.map → bundle.83f73b43.min.js.map} +2 -2
  311. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +421 -19
  312. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +421 -19
  313. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +421 -172
  314. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +421 -19
  315. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +421 -19
  316. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +425 -21
  317. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +421 -19
  318. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +424 -22
  319. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9809 -0
  320. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +424 -63
  321. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +421 -19
  322. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +421 -19
  323. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +457 -20
  324. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +421 -19
  325. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +425 -25
  326. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +457 -19
  327. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +421 -19
  328. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +421 -19
  329. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +425 -215
  330. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +430 -342
  331. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +5799 -1054
  332. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +421 -19
  333. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +447 -176
  334. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +460 -21
  335. nautobot/project-static/docs/development/apps/api/configuration-view.html +421 -19
  336. nautobot/project-static/docs/development/apps/api/database-backend-config.html +421 -19
  337. nautobot/project-static/docs/development/apps/api/models/django-admin.html +421 -19
  338. nautobot/project-static/docs/development/apps/api/models/global-search.html +421 -19
  339. nautobot/project-static/docs/development/apps/api/models/graphql.html +421 -19
  340. nautobot/project-static/docs/development/apps/api/models/index.html +421 -19
  341. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +421 -19
  342. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +421 -19
  343. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +421 -19
  344. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +421 -19
  345. nautobot/project-static/docs/development/apps/api/platform-features/index.html +421 -19
  346. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +421 -19
  347. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +421 -19
  348. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +421 -19
  349. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +421 -19
  350. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +424 -41
  351. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +421 -19
  352. nautobot/project-static/docs/development/apps/api/prometheus.html +421 -19
  353. nautobot/project-static/docs/development/apps/api/setup.html +425 -155
  354. nautobot/project-static/docs/development/apps/api/testing.html +421 -19
  355. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +421 -19
  356. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +421 -19
  357. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +421 -19
  358. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +421 -19
  359. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +701 -130
  360. nautobot/project-static/docs/development/apps/api/views/base-template.html +421 -19
  361. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +421 -19
  362. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +421 -19
  363. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +421 -19
  364. nautobot/project-static/docs/development/apps/api/views/index.html +423 -20
  365. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +425 -19
  366. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +451 -19
  367. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +421 -19
  368. nautobot/project-static/docs/development/apps/api/views/notes.html +421 -19
  369. nautobot/project-static/docs/development/apps/api/views/rest-api.html +421 -19
  370. nautobot/project-static/docs/development/apps/api/views/urls.html +421 -19
  371. nautobot/project-static/docs/development/apps/index.html +421 -19
  372. nautobot/project-static/docs/development/apps/migration/code-updates.html +422 -52
  373. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +422 -20
  374. nautobot/project-static/docs/development/apps/migration/from-v1.html +421 -19
  375. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +421 -19
  376. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +421 -19
  377. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +421 -19
  378. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +424 -22
  379. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +9219 -0
  380. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +9333 -0
  381. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +9474 -0
  382. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +9517 -0
  383. nautobot/project-static/docs/development/apps/porting-from-netbox.html +424 -22
  384. nautobot/project-static/docs/development/core/application-registry.html +421 -19
  385. nautobot/project-static/docs/development/core/best-practices.html +421 -19
  386. nautobot/project-static/docs/development/core/bootstrap-ui.html +421 -19
  387. nautobot/project-static/docs/development/core/caching.html +421 -19
  388. nautobot/project-static/docs/development/core/controllers.html +423 -19
  389. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +490 -45
  390. nautobot/project-static/docs/development/core/generic-views.html +421 -19
  391. nautobot/project-static/docs/development/core/getting-started.html +566 -179
  392. nautobot/project-static/docs/development/core/homepage.html +432 -30
  393. nautobot/project-static/docs/development/core/index.html +421 -19
  394. nautobot/project-static/docs/development/core/local-k8s.html +9453 -0
  395. nautobot/project-static/docs/development/core/model-checklist.html +424 -22
  396. nautobot/project-static/docs/development/core/model-features.html +421 -19
  397. nautobot/project-static/docs/development/core/natural-keys.html +421 -19
  398. nautobot/project-static/docs/development/core/navigation-menu.html +438 -26
  399. nautobot/project-static/docs/development/core/release-checklist.html +435 -45
  400. nautobot/project-static/docs/development/core/role-internals.html +421 -19
  401. nautobot/project-static/docs/development/core/settings.html +421 -19
  402. nautobot/project-static/docs/development/core/style-guide.html +421 -19
  403. nautobot/project-static/docs/development/core/templates.html +431 -22
  404. nautobot/project-static/docs/development/core/testing.html +421 -19
  405. nautobot/project-static/docs/development/core/ui-component-framework.html +11020 -0
  406. nautobot/project-static/docs/development/core/user-preferences.html +424 -22
  407. nautobot/project-static/docs/development/index.html +421 -19
  408. nautobot/project-static/docs/development/jobs/index.html +546 -160
  409. nautobot/project-static/docs/development/jobs/migration/from-v1.html +421 -19
  410. nautobot/project-static/docs/index.html +421 -19
  411. nautobot/project-static/docs/media/development/core/ui-component-framework/basic-panel-layout.png +0 -0
  412. nautobot/project-static/docs/media/development/core/ui-component-framework/button-example.png +0 -0
  413. nautobot/project-static/docs/media/development/core/ui-component-framework/dropdown-button-example.png +0 -0
  414. nautobot/project-static/docs/media/development/core/ui-component-framework/grouped-key-value-table-panel-example-1.png +0 -0
  415. nautobot/project-static/docs/media/development/core/ui-component-framework/grouped-key-value-table-panel-example-2.png +0 -0
  416. nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example.png +0 -0
  417. nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example.png +0 -0
  418. nautobot/project-static/docs/media/development/core/ui-component-framework/table-panels-family.png +0 -0
  419. nautobot/project-static/docs/media/development/core/ui-component-framework/text-panels-family.png +0 -0
  420. nautobot/project-static/docs/media/development/core/ui-component-framework/ui-framework-example.png +0 -0
  421. nautobot/project-static/docs/media/models/virtual_device_context_overview.drawio +73 -0
  422. nautobot/project-static/docs/media/models/virtual_device_context_overview.png +0 -0
  423. nautobot/project-static/docs/models/dcim/virtualdevicecontext.html +14 -0
  424. nautobot/project-static/docs/models/extras/jobqueue.html +14 -0
  425. nautobot/project-static/docs/models/wireless/radioprofile.html +14 -0
  426. nautobot/project-static/docs/models/wireless/supporteddatarate.html +14 -0
  427. nautobot/project-static/docs/models/wireless/wirelessnetwork.html +14 -0
  428. nautobot/project-static/docs/objects.inv +0 -0
  429. nautobot/project-static/docs/overview/application_stack.html +426 -20
  430. nautobot/project-static/docs/overview/design_philosophy.html +421 -19
  431. nautobot/project-static/docs/release-notes/index.html +445 -22
  432. nautobot/project-static/docs/release-notes/version-1.0.html +421 -19
  433. nautobot/project-static/docs/release-notes/version-1.1.html +421 -19
  434. nautobot/project-static/docs/release-notes/version-1.2.html +421 -19
  435. nautobot/project-static/docs/release-notes/version-1.3.html +421 -19
  436. nautobot/project-static/docs/release-notes/version-1.4.html +421 -19
  437. nautobot/project-static/docs/release-notes/version-1.5.html +421 -19
  438. nautobot/project-static/docs/release-notes/version-1.6.html +634 -667
  439. nautobot/project-static/docs/release-notes/version-2.0.html +421 -19
  440. nautobot/project-static/docs/release-notes/version-2.1.html +421 -19
  441. nautobot/project-static/docs/release-notes/version-2.2.html +421 -19
  442. nautobot/project-static/docs/release-notes/version-2.3.html +684 -886
  443. nautobot/project-static/docs/release-notes/version-2.4.html +10007 -0
  444. nautobot/project-static/docs/requirements.txt +2 -2
  445. nautobot/project-static/docs/search/search_index.json +1 -1
  446. nautobot/project-static/docs/sitemap.xml +334 -270
  447. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  448. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +421 -19
  449. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +421 -19
  450. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +423 -21
  451. nautobot/project-static/docs/user-guide/administration/configuration/index.html +433 -32
  452. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +421 -19
  453. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +765 -180
  454. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +421 -19
  455. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +421 -19
  456. nautobot/project-static/docs/user-guide/administration/guides/docker.html +434 -29
  457. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +421 -19
  458. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +421 -19
  459. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +421 -19
  460. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +421 -19
  461. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +421 -19
  462. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +421 -19
  463. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +421 -19
  464. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +421 -19
  465. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +421 -19
  466. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +421 -19
  467. nautobot/project-static/docs/user-guide/administration/installation/index.html +426 -20
  468. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +421 -19
  469. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +421 -19
  470. nautobot/project-static/docs/user-guide/administration/installation/services.html +421 -19
  471. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +421 -19
  472. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +442 -41
  473. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +435 -66
  474. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +435 -66
  475. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +421 -19
  476. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +421 -19
  477. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +421 -19
  478. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +421 -19
  479. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +421 -19
  480. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +421 -19
  481. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +421 -19
  482. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-nautobot-app-location.yaml +0 -16
  483. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +421 -19
  484. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +427 -21
  485. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +421 -19
  486. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +421 -19
  487. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +421 -19
  488. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +421 -19
  489. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +421 -19
  490. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +421 -19
  491. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +421 -19
  492. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +421 -19
  493. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +421 -19
  494. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +421 -19
  495. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +421 -19
  496. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +421 -19
  497. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +421 -19
  498. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +421 -19
  499. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +421 -19
  500. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +421 -19
  501. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +421 -19
  502. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +457 -20
  503. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +447 -22
  504. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +421 -19
  505. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +421 -19
  506. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +421 -19
  507. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +421 -19
  508. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +421 -19
  509. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +421 -19
  510. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +421 -19
  511. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +421 -19
  512. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +421 -19
  513. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +421 -19
  514. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +421 -19
  515. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +421 -19
  516. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +421 -19
  517. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +421 -19
  518. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +421 -19
  519. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +421 -19
  520. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +421 -19
  521. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +421 -19
  522. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +421 -19
  523. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +421 -19
  524. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +421 -19
  525. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +421 -19
  526. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +421 -19
  527. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +421 -19
  528. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +421 -19
  529. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +421 -19
  530. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +421 -19
  531. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +421 -19
  532. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +421 -19
  533. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +421 -19
  534. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +421 -19
  535. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +421 -19
  536. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +421 -19
  537. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +421 -19
  538. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +9333 -0
  539. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +424 -22
  540. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +421 -19
  541. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +421 -19
  542. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +421 -19
  543. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +421 -19
  544. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +421 -19
  545. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +421 -19
  546. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +421 -19
  547. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +421 -19
  548. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +421 -19
  549. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +421 -19
  550. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +421 -19
  551. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +421 -19
  552. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +421 -19
  553. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +421 -19
  554. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +421 -19
  555. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +421 -19
  556. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +421 -19
  557. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +421 -19
  558. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +421 -19
  559. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +424 -22
  560. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +9271 -0
  561. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +9175 -0
  562. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +9169 -0
  563. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +9235 -0
  564. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +421 -19
  565. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +421 -19
  566. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +421 -19
  567. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +421 -19
  568. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +421 -19
  569. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +421 -19
  570. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +421 -19
  571. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +421 -19
  572. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +421 -19
  573. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +421 -19
  574. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +421 -19
  575. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +421 -19
  576. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +421 -19
  577. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +421 -19
  578. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +421 -19
  579. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +421 -19
  580. nautobot/project-static/docs/user-guide/index.html +421 -19
  581. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +424 -22
  582. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +421 -19
  583. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +421 -19
  584. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +421 -19
  585. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +421 -19
  586. nautobot/project-static/docs/user-guide/platform-functionality/events.html +9575 -0
  587. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +424 -22
  588. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +421 -19
  589. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +421 -19
  590. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +421 -19
  591. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +421 -19
  592. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +421 -19
  593. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +426 -20
  594. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +424 -22
  595. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +421 -19
  596. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +421 -19
  597. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +9182 -0
  598. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +424 -22
  599. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +421 -19
  600. nautobot/project-static/docs/user-guide/platform-functionality/note.html +421 -19
  601. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +421 -19
  602. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +424 -22
  603. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +9250 -0
  604. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +421 -19
  605. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +421 -19
  606. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +424 -22
  607. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +421 -19
  608. nautobot/project-static/docs/user-guide/platform-functionality/role.html +421 -19
  609. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +421 -19
  610. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +421 -19
  611. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +424 -22
  612. nautobot/project-static/docs/user-guide/platform-functionality/status.html +421 -19
  613. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +421 -19
  614. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +489 -56
  615. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +421 -19
  616. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +421 -19
  617. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +421 -19
  618. nautobot/project-static/img/jinja_logo.svg +97 -0
  619. nautobot/project-static/js/forms.js +5 -0
  620. nautobot/project-static/js/nav_menu.js +2 -1
  621. nautobot/tenancy/api/serializers.py +0 -2
  622. nautobot/tenancy/factory.py +1 -1
  623. nautobot/tenancy/navigation.py +0 -29
  624. nautobot/tenancy/templates/tenancy/tenant.html +4 -91
  625. nautobot/tenancy/tests/test_filters.py +29 -134
  626. nautobot/tenancy/views.py +32 -23
  627. nautobot/users/admin.py +3 -1
  628. nautobot/users/api/serializers.py +4 -5
  629. nautobot/users/api/views.py +1 -1
  630. nautobot/users/forms.py +19 -0
  631. nautobot/users/templates/users/preferences.html +22 -0
  632. nautobot/users/tests/test_filters.py +1 -19
  633. nautobot/users/tests/test_views.py +57 -0
  634. nautobot/users/utils.py +8 -0
  635. nautobot/users/views.py +48 -11
  636. nautobot/virtualization/api/serializers.py +4 -4
  637. nautobot/virtualization/filters.py +2 -20
  638. nautobot/virtualization/navigation.py +0 -48
  639. nautobot/virtualization/templates/virtualization/clustertype.html +0 -39
  640. nautobot/virtualization/tests/test_filters.py +57 -183
  641. nautobot/virtualization/views.py +18 -15
  642. nautobot/wireless/__init__.py +0 -0
  643. nautobot/wireless/api/__init__.py +0 -0
  644. nautobot/wireless/api/serializers.py +44 -0
  645. nautobot/wireless/api/urls.py +20 -0
  646. nautobot/wireless/api/views.py +34 -0
  647. nautobot/wireless/apps.py +8 -0
  648. nautobot/wireless/choices.py +345 -0
  649. nautobot/wireless/factory.py +138 -0
  650. nautobot/wireless/filters.py +167 -0
  651. nautobot/wireless/forms.py +283 -0
  652. nautobot/wireless/homepage.py +19 -0
  653. nautobot/wireless/migrations/0001_initial.py +223 -0
  654. nautobot/wireless/migrations/__init__.py +0 -0
  655. nautobot/wireless/models.py +207 -0
  656. nautobot/wireless/navigation.py +105 -0
  657. nautobot/wireless/tables.py +244 -0
  658. nautobot/wireless/templates/wireless/radioprofile_retrieve.html +81 -0
  659. nautobot/wireless/templates/wireless/supporteddatarate_retrieve.html +26 -0
  660. nautobot/wireless/templates/wireless/wirelessnetwork_create.html +88 -0
  661. nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +64 -0
  662. nautobot/wireless/tests/__init__.py +0 -0
  663. nautobot/wireless/tests/test_api.py +247 -0
  664. nautobot/wireless/tests/test_filters.py +54 -0
  665. nautobot/wireless/tests/test_models.py +22 -0
  666. nautobot/wireless/tests/test_views.py +378 -0
  667. nautobot/wireless/urls.py +13 -0
  668. nautobot/wireless/views.py +129 -0
  669. {nautobot-2.3.16.dist-info → nautobot-2.4.0b1.dist-info}/METADATA +11 -14
  670. {nautobot-2.3.16.dist-info → nautobot-2.4.0b1.dist-info}/RECORD +674 -551
  671. {nautobot-2.3.16.dist-info → nautobot-2.4.0b1.dist-info}/WHEEL +1 -1
  672. nautobot/core/utils/navigation.py +0 -54
  673. {nautobot-2.3.16.dist-info → nautobot-2.4.0b1.dist-info}/LICENSE.txt +0 -0
  674. {nautobot-2.3.16.dist-info → nautobot-2.4.0b1.dist-info}/NOTICE +0 -0
  675. {nautobot-2.3.16.dist-info → nautobot-2.4.0b1.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.46">
22
22
 
23
23
 
24
24
 
@@ -3949,6 +3949,27 @@
3949
3949
 
3950
3950
 
3951
3951
 
3952
+
3953
+
3954
+
3955
+
3956
+
3957
+
3958
+ <li class="md-nav__item">
3959
+ <a href="../core-data-model/dcim/virtualdevicecontext.html" class="md-nav__link">
3960
+
3961
+
3962
+ <span class="md-ellipsis">
3963
+ Virtual Device Context
3964
+ </span>
3965
+
3966
+
3967
+ </a>
3968
+ </li>
3969
+
3970
+
3971
+
3972
+
3952
3973
  </ul>
3953
3974
  </nav>
3954
3975
 
@@ -4561,6 +4582,123 @@
4561
4582
 
4562
4583
 
4563
4584
 
4585
+
4586
+
4587
+
4588
+
4589
+
4590
+
4591
+
4592
+
4593
+
4594
+
4595
+
4596
+
4597
+
4598
+ <li class="md-nav__item md-nav__item--nested">
4599
+
4600
+
4601
+
4602
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_9" >
4603
+
4604
+
4605
+
4606
+ <div class="md-nav__link md-nav__container">
4607
+ <a href="../core-data-model/wireless/index.html" class="md-nav__link ">
4608
+
4609
+
4610
+ <span class="md-ellipsis">
4611
+ Wireless
4612
+ </span>
4613
+
4614
+
4615
+ </a>
4616
+
4617
+
4618
+ <label class="md-nav__link " for="__nav_2_3_9" id="__nav_2_3_9_label" tabindex="0">
4619
+ <span class="md-nav__icon md-icon"></span>
4620
+ </label>
4621
+
4622
+ </div>
4623
+
4624
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_9_label" aria-expanded="false">
4625
+ <label class="md-nav__title" for="__nav_2_3_9">
4626
+ <span class="md-nav__icon md-icon"></span>
4627
+ Wireless
4628
+ </label>
4629
+ <ul class="md-nav__list" data-md-scrollfix>
4630
+
4631
+
4632
+
4633
+
4634
+
4635
+
4636
+
4637
+ <li class="md-nav__item">
4638
+ <a href="../core-data-model/wireless/supporteddatarate.html" class="md-nav__link">
4639
+
4640
+
4641
+ <span class="md-ellipsis">
4642
+ Supported Data Rate
4643
+ </span>
4644
+
4645
+
4646
+ </a>
4647
+ </li>
4648
+
4649
+
4650
+
4651
+
4652
+
4653
+
4654
+
4655
+
4656
+
4657
+
4658
+ <li class="md-nav__item">
4659
+ <a href="../core-data-model/wireless/radioprofile.html" class="md-nav__link">
4660
+
4661
+
4662
+ <span class="md-ellipsis">
4663
+ Radio Profile
4664
+ </span>
4665
+
4666
+
4667
+ </a>
4668
+ </li>
4669
+
4670
+
4671
+
4672
+
4673
+
4674
+
4675
+
4676
+
4677
+
4678
+
4679
+ <li class="md-nav__item">
4680
+ <a href="../core-data-model/wireless/wirelessnetwork.html" class="md-nav__link">
4681
+
4682
+
4683
+ <span class="md-ellipsis">
4684
+ Wireless Network
4685
+ </span>
4686
+
4687
+
4688
+ </a>
4689
+ </li>
4690
+
4691
+
4692
+
4693
+
4694
+ </ul>
4695
+ </nav>
4696
+
4697
+ </li>
4698
+
4699
+
4700
+
4701
+
4564
4702
  </ul>
4565
4703
  </nav>
4566
4704
 
@@ -4774,6 +4912,27 @@
4774
4912
 
4775
4913
 
4776
4914
 
4915
+ <li class="md-nav__item">
4916
+ <a href="events.html" class="md-nav__link">
4917
+
4918
+
4919
+ <span class="md-ellipsis">
4920
+ Event Notifications
4921
+ </span>
4922
+
4923
+
4924
+ </a>
4925
+ </li>
4926
+
4927
+
4928
+
4929
+
4930
+
4931
+
4932
+
4933
+
4934
+
4935
+
4777
4936
  <li class="md-nav__item">
4778
4937
  <a href="exporttemplate.html" class="md-nav__link">
4779
4938
 
@@ -4848,7 +5007,7 @@
4848
5007
 
4849
5008
 
4850
5009
 
4851
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_9" >
5010
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_10" >
4852
5011
 
4853
5012
 
4854
5013
 
@@ -4864,14 +5023,14 @@
4864
5023
  </a>
4865
5024
 
4866
5025
 
4867
- <label class="md-nav__link " for="__nav_2_4_9" id="__nav_2_4_9_label" tabindex="0">
5026
+ <label class="md-nav__link " for="__nav_2_4_10" id="__nav_2_4_10_label" tabindex="0">
4868
5027
  <span class="md-nav__icon md-icon"></span>
4869
5028
  </label>
4870
5029
 
4871
5030
  </div>
4872
5031
 
4873
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_9_label" aria-expanded="false">
4874
- <label class="md-nav__title" for="__nav_2_4_9">
5032
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_10_label" aria-expanded="false">
5033
+ <label class="md-nav__title" for="__nav_2_4_10">
4875
5034
  <span class="md-nav__icon md-icon"></span>
4876
5035
  GraphQL
4877
5036
  </label>
@@ -4944,7 +5103,7 @@
4944
5103
 
4945
5104
 
4946
5105
 
4947
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_11" >
5106
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_12" >
4948
5107
 
4949
5108
 
4950
5109
 
@@ -4960,14 +5119,14 @@
4960
5119
  </a>
4961
5120
 
4962
5121
 
4963
- <label class="md-nav__link " for="__nav_2_4_11" id="__nav_2_4_11_label" tabindex="0">
5122
+ <label class="md-nav__link " for="__nav_2_4_12" id="__nav_2_4_12_label" tabindex="0">
4964
5123
  <span class="md-nav__icon md-icon"></span>
4965
5124
  </label>
4966
5125
 
4967
5126
  </div>
4968
5127
 
4969
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_11_label" aria-expanded="false">
4970
- <label class="md-nav__title" for="__nav_2_4_11">
5128
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_12_label" aria-expanded="false">
5129
+ <label class="md-nav__title" for="__nav_2_4_12">
4971
5130
  <span class="md-nav__icon md-icon"></span>
4972
5131
  Jobs
4973
5132
  </label>
@@ -5042,6 +5201,27 @@
5042
5201
 
5043
5202
 
5044
5203
 
5204
+ <li class="md-nav__item">
5205
+ <a href="jobs/jobqueue.html" class="md-nav__link">
5206
+
5207
+
5208
+ <span class="md-ellipsis">
5209
+ Job Queues
5210
+ </span>
5211
+
5212
+
5213
+ </a>
5214
+ </li>
5215
+
5216
+
5217
+
5218
+
5219
+
5220
+
5221
+
5222
+
5223
+
5224
+
5045
5225
  <li class="md-nav__item">
5046
5226
  <a href="jobs/job-scheduling-and-approvals.html" class="md-nav__link">
5047
5227
 
@@ -5155,6 +5335,27 @@
5155
5335
 
5156
5336
 
5157
5337
 
5338
+ <li class="md-nav__item">
5339
+ <a href="rendering-jinja-templates.html" class="md-nav__link">
5340
+
5341
+
5342
+ <span class="md-ellipsis">
5343
+ Rendering Jinja Templates
5344
+ </span>
5345
+
5346
+
5347
+ </a>
5348
+ </li>
5349
+
5350
+
5351
+
5352
+
5353
+
5354
+
5355
+
5356
+
5357
+
5358
+
5158
5359
 
5159
5360
 
5160
5361
 
@@ -5166,7 +5367,7 @@
5166
5367
 
5167
5368
 
5168
5369
 
5169
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_16" >
5370
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_18" >
5170
5371
 
5171
5372
 
5172
5373
 
@@ -5182,14 +5383,14 @@
5182
5383
  </a>
5183
5384
 
5184
5385
 
5185
- <label class="md-nav__link " for="__nav_2_4_16" id="__nav_2_4_16_label" tabindex="0">
5386
+ <label class="md-nav__link " for="__nav_2_4_18" id="__nav_2_4_18_label" tabindex="0">
5186
5387
  <span class="md-nav__icon md-icon"></span>
5187
5388
  </label>
5188
5389
 
5189
5390
  </div>
5190
5391
 
5191
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_16_label" aria-expanded="false">
5192
- <label class="md-nav__title" for="__nav_2_4_16">
5392
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_18_label" aria-expanded="false">
5393
+ <label class="md-nav__title" for="__nav_2_4_18">
5193
5394
  <span class="md-nav__icon md-icon"></span>
5194
5395
  REST API
5195
5396
  </label>
@@ -5602,6 +5803,15 @@
5602
5803
  </span>
5603
5804
  </a>
5604
5805
 
5806
+ </li>
5807
+
5808
+ <li class="md-nav__item">
5809
+ <a href="#pre_tag" class="md-nav__link">
5810
+ <span class="md-ellipsis">
5811
+ pre_tag
5812
+ </span>
5813
+ </a>
5814
+
5605
5815
  </li>
5606
5816
 
5607
5817
  <li class="md-nav__item">
@@ -5758,10 +5968,10 @@
5758
5968
 
5759
5969
 
5760
5970
 
5761
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_23" >
5971
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_25" >
5762
5972
 
5763
5973
 
5764
- <label class="md-nav__link" for="__nav_2_4_23" id="__nav_2_4_23_label" tabindex="0">
5974
+ <label class="md-nav__link" for="__nav_2_4_25" id="__nav_2_4_25_label" tabindex="0">
5765
5975
 
5766
5976
 
5767
5977
  <span class="md-ellipsis">
@@ -5772,8 +5982,8 @@
5772
5982
  <span class="md-nav__icon md-icon"></span>
5773
5983
  </label>
5774
5984
 
5775
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_23_label" aria-expanded="false">
5776
- <label class="md-nav__title" for="__nav_2_4_23">
5985
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_25_label" aria-expanded="false">
5986
+ <label class="md-nav__title" for="__nav_2_4_25">
5777
5987
  <span class="md-nav__icon md-icon"></span>
5778
5988
  Users
5779
5989
  </label>
@@ -7178,6 +7388,27 @@
7178
7388
 
7179
7389
 
7180
7390
 
7391
+ <li class="md-nav__item">
7392
+ <a href="../../code-reference/nautobot/apps/events.html" class="md-nav__link">
7393
+
7394
+
7395
+ <span class="md-ellipsis">
7396
+ nautobot.apps.events
7397
+ </span>
7398
+
7399
+
7400
+ </a>
7401
+ </li>
7402
+
7403
+
7404
+
7405
+
7406
+
7407
+
7408
+
7409
+
7410
+
7411
+
7181
7412
  <li class="md-nav__item">
7182
7413
  <a href="../../code-reference/nautobot/apps/exceptions.html" class="md-nav__link">
7183
7414
 
@@ -7726,6 +7957,123 @@
7726
7957
 
7727
7958
 
7728
7959
 
7960
+
7961
+
7962
+
7963
+
7964
+
7965
+
7966
+
7967
+
7968
+
7969
+
7970
+
7971
+
7972
+
7973
+ <li class="md-nav__item md-nav__item--nested">
7974
+
7975
+
7976
+
7977
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_9_5" >
7978
+
7979
+
7980
+
7981
+ <div class="md-nav__link md-nav__container">
7982
+ <a href="../../development/apps/migration/ui-component-framework/index.html" class="md-nav__link ">
7983
+
7984
+
7985
+ <span class="md-ellipsis">
7986
+ UI Component Framework
7987
+ </span>
7988
+
7989
+
7990
+ </a>
7991
+
7992
+
7993
+ <label class="md-nav__link " for="__nav_3_2_9_5" id="__nav_3_2_9_5_label" tabindex="0">
7994
+ <span class="md-nav__icon md-icon"></span>
7995
+ </label>
7996
+
7997
+ </div>
7998
+
7999
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_2_9_5_label" aria-expanded="false">
8000
+ <label class="md-nav__title" for="__nav_3_2_9_5">
8001
+ <span class="md-nav__icon md-icon"></span>
8002
+ UI Component Framework
8003
+ </label>
8004
+ <ul class="md-nav__list" data-md-scrollfix>
8005
+
8006
+
8007
+
8008
+
8009
+
8010
+
8011
+
8012
+ <li class="md-nav__item">
8013
+ <a href="../../development/apps/migration/ui-component-framework/migration-steps.html" class="md-nav__link">
8014
+
8015
+
8016
+ <span class="md-ellipsis">
8017
+ Migration steps
8018
+ </span>
8019
+
8020
+
8021
+ </a>
8022
+ </li>
8023
+
8024
+
8025
+
8026
+
8027
+
8028
+
8029
+
8030
+
8031
+
8032
+
8033
+ <li class="md-nav__item">
8034
+ <a href="../../development/apps/migration/ui-component-framework/custom-content.html" class="md-nav__link">
8035
+
8036
+
8037
+ <span class="md-ellipsis">
8038
+ Custom content
8039
+ </span>
8040
+
8041
+
8042
+ </a>
8043
+ </li>
8044
+
8045
+
8046
+
8047
+
8048
+
8049
+
8050
+
8051
+
8052
+
8053
+
8054
+ <li class="md-nav__item">
8055
+ <a href="../../development/apps/migration/ui-component-framework/best-practices.html" class="md-nav__link">
8056
+
8057
+
8058
+ <span class="md-ellipsis">
8059
+ Best practices
8060
+ </span>
8061
+
8062
+
8063
+ </a>
8064
+ </li>
8065
+
8066
+
8067
+
8068
+
8069
+ </ul>
8070
+ </nav>
8071
+
8072
+ </li>
8073
+
8074
+
8075
+
8076
+
7729
8077
  </ul>
7730
8078
  </nav>
7731
8079
 
@@ -8071,6 +8419,27 @@
8071
8419
 
8072
8420
 
8073
8421
 
8422
+ <li class="md-nav__item">
8423
+ <a href="../../development/core/local-k8s.html" class="md-nav__link">
8424
+
8425
+
8426
+ <span class="md-ellipsis">
8427
+ Local Kubernetes Cluster
8428
+ </span>
8429
+
8430
+
8431
+ </a>
8432
+ </li>
8433
+
8434
+
8435
+
8436
+
8437
+
8438
+
8439
+
8440
+
8441
+
8442
+
8074
8443
  <li class="md-nav__item">
8075
8444
  <a href="../../development/core/model-checklist.html" class="md-nav__link">
8076
8445
 
@@ -8260,6 +8629,27 @@
8260
8629
 
8261
8630
 
8262
8631
 
8632
+ <li class="md-nav__item">
8633
+ <a href="../../development/core/ui-component-framework.html" class="md-nav__link">
8634
+
8635
+
8636
+ <span class="md-ellipsis">
8637
+ UI Component Framework
8638
+ </span>
8639
+
8640
+
8641
+ </a>
8642
+ </li>
8643
+
8644
+
8645
+
8646
+
8647
+
8648
+
8649
+
8650
+
8651
+
8652
+
8263
8653
  <li class="md-nav__item">
8264
8654
  <a href="../../development/core/release-checklist.html" class="md-nav__link">
8265
8655
 
@@ -8342,6 +8732,27 @@
8342
8732
 
8343
8733
 
8344
8734
 
8735
+ <li class="md-nav__item">
8736
+ <a href="../../release-notes/version-2.4.html" class="md-nav__link">
8737
+
8738
+
8739
+ <span class="md-ellipsis">
8740
+ Version 2.4
8741
+ </span>
8742
+
8743
+
8744
+ </a>
8745
+ </li>
8746
+
8747
+
8748
+
8749
+
8750
+
8751
+
8752
+
8753
+
8754
+
8755
+
8345
8756
  <li class="md-nav__item">
8346
8757
  <a href="../../release-notes/version-2.3.html" class="md-nav__link">
8347
8758
 
@@ -9108,6 +9519,15 @@
9108
9519
  </span>
9109
9520
  </a>
9110
9521
 
9522
+ </li>
9523
+
9524
+ <li class="md-nav__item">
9525
+ <a href="#pre_tag" class="md-nav__link">
9526
+ <span class="md-ellipsis">
9527
+ pre_tag
9528
+ </span>
9529
+ </a>
9530
+
9111
9531
  </li>
9112
9532
 
9113
9533
  <li class="md-nav__item">
@@ -9391,12 +9811,18 @@ additionally if there is an <code>object.description</code> this will be used as
9391
9811
  <p>Render a muted placeholder (<code>&lt;span class="text-muted"&gt;&amp;mdash;&lt;/span&gt;</code>) if value is falsey, else render the provided value.</p>
9392
9812
  <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="cp">{{</span> <span class="nv">html</span> <span class="o">|</span> <span class="nf">placeholder</span> <span class="cp">}}</span>
9393
9813
  </code></pre></div>
9814
+ <h3 id="pre_tag">pre_tag<a class="headerlink" href="#pre_tag" title="Permanent link">&para;</a></h3>
9815
+ <p>Render a value within <code>&lt;pre&gt;&lt;/pre&gt;</code> tags to enable formatting.</p>
9816
+ <div class="highlight"><span class="filename">template.html</span><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="cp">{{</span> <span class="nv">some_html</span> <span class="o">|</span> <span class="nf">pre_tag</span> <span class="cp">}}</span>
9817
+ </code></pre></div>
9818
+ <div class="highlight"><span class="filename">script.py</span><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="x">pre_tag(some_html)</span>
9819
+ </code></pre></div>
9394
9820
  <h3 id="render_boolean">render_boolean<a class="headerlink" href="#render_boolean" title="Permanent link">&para;</a></h3>
9395
9821
  <p>Render HTML from a computed boolean value.</p>
9396
9822
  <p>If value is (for example) a non-empty string or True or a non-zero number, this renders <code>&lt;span class="text-success"&gt;&lt;i class="mdi mdi-check-bold" title="Yes"&gt;&lt;/i&gt;&lt;/span&gt;</code></p>
9397
9823
  <p>If value is (for example) "" or 0 or False, this renders <code>&lt;span class="text-danger"&gt;&lt;i class="mdi mdi-close-thick" title="No"&gt;&lt;/i&gt;&lt;/span&gt;</code></p>
9398
9824
  <p>If value is None this renders <code>&lt;span class="text-muted"&gt;&amp;mdash;&lt;/span&gt;</code></p>
9399
- <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="cp">{{</span> <span class="nv">value</span> <span class="o">|</span> <span class="nf">render_boolean</span> <span class="cp">}}</span>
9825
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="cp">{{</span> <span class="nv">value</span> <span class="o">|</span> <span class="nf">render_boolean</span> <span class="cp">}}</span>
9400
9826
  </code></pre></div>
9401
9827
  <h3 id="render_json">render_json<a class="headerlink" href="#render_json" title="Permanent link">&para;</a></h3>
9402
9828
  <p>Render a dictionary as formatted JSON.</p>
@@ -9404,11 +9830,18 @@ additionally if there is an <code>object.description</code> this will be used as
9404
9830
  <summary>Changed in version 2.2.0</summary>
9405
9831
  <p>Unless <code>syntax_highlight=False</code> is specified, the returned string will be wrapped in a <code>&lt;code class="language-json&gt;</code> HTML tag to flag it for syntax highlighting by highlight.js.</p>
9406
9832
  </details>
9407
- <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="cp">{{</span> <span class="nv">data</span> <span class="o">|</span> <span class="nf">render_json</span> <span class="cp">}}</span>
9833
+ <details class="version-added">
9834
+ <summary>Added in version 2.3.0</summary>
9835
+ <p>Added option for pretty print the output: <code>pretty_print=False</code>, default is False. If True the output will be wrapped in <code>&lt;pre&gt;</code> tags.</p>
9836
+ </details>
9837
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="cp">{{</span> <span class="nv">data</span> <span class="o">|</span> <span class="nf">render_json</span> <span class="cp">}}</span>
9838
+ <a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a><span class="cp">{{</span> <span class="nv">data</span> <span class="o">|</span> <span class="nf">render_json</span><span class="o">:</span><span class="kp">False</span> <span class="cp">}}</span><span class="x"> &lt;!-- without syntax highlitning -&gt;&gt;</span>
9839
+ </code></pre></div>
9840
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="x">json_pretty_printed = render_json(data, pretty_print=True)</span>
9408
9841
  </code></pre></div>
9409
9842
  <h3 id="render_markdown">render_markdown<a class="headerlink" href="#render_markdown" title="Permanent link">&para;</a></h3>
9410
9843
  <p>Render and sanitize Markdown text into HTML. A limited subset of HTML tags and attributes are permitted in the text as well; non-permitted HTML will be stripped from the output for security.</p>
9411
- <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="cp">{{</span> <span class="nv">text</span> <span class="o">|</span> <span class="nf">render_markdown</span> <span class="cp">}}</span>
9844
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="cp">{{</span> <span class="nv">text</span> <span class="o">|</span> <span class="nf">render_markdown</span> <span class="cp">}}</span>
9412
9845
  </code></pre></div>
9413
9846
  <h4 id="permitted-html-tags-and-attributes">Permitted HTML Tags and Attributes<a class="headerlink" href="#permitted-html-tags-and-attributes" title="Permanent link">&para;</a></h4>
9414
9847
  <details class="version-added">
@@ -9689,7 +10122,7 @@ additionally if there is an <code>object.description</code> this will be used as
9689
10122
  1024768 =&gt; "11 days 20 hours 39 minutes"
9690
10123
  1 =&gt; "0 days 0 hours 0 minutes"
9691
10124
  3660 =&gt; "0 days 1 hour 1 minute"</p>
9692
- <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="cp">{{</span> <span class="m">1024768</span> <span class="o">|</span> <span class="nf">render_uptime</span> <span class="cp">}}</span>
10125
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="cp">{{</span> <span class="m">1024768</span> <span class="o">|</span> <span class="nf">render_uptime</span> <span class="cp">}}</span>
9693
10126
  </code></pre></div>
9694
10127
  <h3 id="render_yaml">render_yaml<a class="headerlink" href="#render_yaml" title="Permanent link">&para;</a></h3>
9695
10128
  <p>Render a dictionary as formatted YAML.</p>
@@ -9697,65 +10130,65 @@ additionally if there is an <code>object.description</code> this will be used as
9697
10130
  <summary>Changed in version 2.2.0</summary>
9698
10131
  <p>Unless <code>syntax_highlight=False</code> is specified, the returned string will be wrapped in a <code>&lt;code class="language-yaml&gt;</code> HTML tag to flag it for syntax highlighting by highlight.js.</p>
9699
10132
  </details>
9700
- <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="cp">{{</span> <span class="nv">data</span> <span class="o">|</span> <span class="nf">render_yaml</span> <span class="cp">}}</span>
10133
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="cp">{{</span> <span class="nv">data</span> <span class="o">|</span> <span class="nf">render_yaml</span> <span class="cp">}}</span>
9701
10134
  </code></pre></div>
9702
10135
  <h3 id="settings_or_config">settings_or_config<a class="headerlink" href="#settings_or_config" title="Permanent link">&para;</a></h3>
9703
10136
  <p>Get a value from Django settings (if specified) or Constance configuration (otherwise).</p>
9704
- <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a><span class="cp">{{</span> <span class="s2">&quot;RELEASE_CHECK_URL&quot;</span> <span class="o">|</span> <span class="nf">settings_or_config</span> <span class="cp">}}</span>
10137
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="cp">{{</span> <span class="s2">&quot;RELEASE_CHECK_URL&quot;</span> <span class="o">|</span> <span class="nf">settings_or_config</span> <span class="cp">}}</span>
9705
10138
  </code></pre></div>
9706
10139
  <details class="version-added">
9707
10140
  <summary>Added in version 2.0.0</summary>
9708
10141
  <p>This filter now accepts an optional <code>app_name</code> parameter, which allows you to use this filter for Third-Party Nautobot Apps.</p>
9709
- <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a><span class="x"># Django Template</span>
9710
- <a id="__codelineno-22-2" name="__codelineno-22-2" href="#__codelineno-22-2"></a><span class="cp">{{</span> <span class="s2">&quot;SAMPLE_VARIABLE&quot;</span> <span class="o">|</span> <span class="nf">settings_or_config</span><span class="s2">:&quot;example_app&quot;</span> <span class="cp">}}</span>
9711
- <a id="__codelineno-22-3" name="__codelineno-22-3" href="#__codelineno-22-3"></a><span class="cp">{{</span> <span class="s2">&quot;lowercase_example&quot;</span> <span class="o">|</span> <span class="nf">settings_or_config</span><span class="s2">:&quot;example_app&quot;</span> <span class="cp">}}</span>
10142
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="x"># Django Template</span>
10143
+ <a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a><span class="cp">{{</span> <span class="s2">&quot;SAMPLE_VARIABLE&quot;</span> <span class="o">|</span> <span class="nf">settings_or_config</span><span class="s2">:&quot;example_app&quot;</span> <span class="cp">}}</span>
10144
+ <a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a><span class="cp">{{</span> <span class="s2">&quot;lowercase_example&quot;</span> <span class="o">|</span> <span class="nf">settings_or_config</span><span class="s2">:&quot;example_app&quot;</span> <span class="cp">}}</span>
9712
10145
  </code></pre></div>
9713
10146
  </details>
9714
10147
  <h3 id="slugify">slugify<a class="headerlink" href="#slugify" title="Permanent link">&para;</a></h3>
9715
10148
  <p>Slugify a string.</p>
9716
- <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a><span class="x"># Django Template</span>
9717
- <a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">slugify</span> <span class="cp">}}</span>
9718
- <a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a>
9719
- <a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a><span class="x"># Jinja</span>
9720
- <a id="__codelineno-23-5" name="__codelineno-23-5" href="#__codelineno-23-5"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">slugify</span> <span class="cp">}}</span>
10149
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="x"># Django Template</span>
10150
+ <a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">slugify</span> <span class="cp">}}</span>
10151
+ <a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a>
10152
+ <a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a><span class="x"># Jinja</span>
10153
+ <a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">slugify</span> <span class="cp">}}</span>
9721
10154
  </code></pre></div>
9722
10155
  <h3 id="split">split<a class="headerlink" href="#split" title="Permanent link">&para;</a></h3>
9723
10156
  <p>Split a string by the given value (default: comma)</p>
9724
- <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a><span class="x"># Django Template</span>
9725
- <a id="__codelineno-24-2" name="__codelineno-24-2" href="#__codelineno-24-2"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span> <span class="cp">}}</span>
9726
- <a id="__codelineno-24-3" name="__codelineno-24-3" href="#__codelineno-24-3"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span><span class="s1">:&#39;;&#39;</span> <span class="cp">}}</span>
9727
- <a id="__codelineno-24-4" name="__codelineno-24-4" href="#__codelineno-24-4"></a>
9728
- <a id="__codelineno-24-5" name="__codelineno-24-5" href="#__codelineno-24-5"></a><span class="x"># Jinja</span>
9729
- <a id="__codelineno-24-6" name="__codelineno-24-6" href="#__codelineno-24-6"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span> <span class="cp">}}</span>
9730
- <a id="__codelineno-24-7" name="__codelineno-24-7" href="#__codelineno-24-7"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span><span class="o">(</span><span class="s1">&#39;;&#39;</span><span class="o">)</span> <span class="cp">}}</span>
10157
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="x"># Django Template</span>
10158
+ <a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span> <span class="cp">}}</span>
10159
+ <a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span><span class="s1">:&#39;;&#39;</span> <span class="cp">}}</span>
10160
+ <a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a>
10161
+ <a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a><span class="x"># Jinja</span>
10162
+ <a id="__codelineno-27-6" name="__codelineno-27-6" href="#__codelineno-27-6"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span> <span class="cp">}}</span>
10163
+ <a id="__codelineno-27-7" name="__codelineno-27-7" href="#__codelineno-27-7"></a><span class="cp">{{</span> <span class="nv">string</span> <span class="o">|</span> <span class="nf">split</span><span class="o">(</span><span class="s1">&#39;;&#39;</span><span class="o">)</span> <span class="cp">}}</span>
9731
10164
  </code></pre></div>
9732
10165
  <h3 id="tzoffset">tzoffset<a class="headerlink" href="#tzoffset" title="Permanent link">&para;</a></h3>
9733
10166
  <p>Returns the hour offset of a given time zone using the current time.</p>
9734
- <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a><span class="cp">{{</span> <span class="nv">object.time_zone</span><span class="o">|</span><span class="nf">tzoffset</span> <span class="cp">}}</span>
10167
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="cp">{{</span> <span class="nv">object.time_zone</span><span class="o">|</span><span class="nf">tzoffset</span> <span class="cp">}}</span>
9735
10168
  </code></pre></div>
9736
10169
  <h3 id="validated_viewname">validated_viewname<a class="headerlink" href="#validated_viewname" title="Permanent link">&para;</a></h3>
9737
10170
  <p>Return the view name for the given model and action if valid, or None if invalid.</p>
9738
- <div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a><span class="x"># Django Template</span>
9739
- <a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_viewname</span><span class="s1">:&#39;list&#39;</span> <span class="cp">}}</span>
9740
- <a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a>
9741
- <a id="__codelineno-26-4" name="__codelineno-26-4" href="#__codelineno-26-4"></a><span class="x"># Jinja</span>
9742
- <a id="__codelineno-26-5" name="__codelineno-26-5" href="#__codelineno-26-5"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_viewname</span><span class="o">(</span><span class="s1">&#39;list&#39;</span><span class="o">)</span> <span class="cp">}}</span>
10171
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a><span class="x"># Django Template</span>
10172
+ <a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_viewname</span><span class="s1">:&#39;list&#39;</span> <span class="cp">}}</span>
10173
+ <a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a>
10174
+ <a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a><span class="x"># Jinja</span>
10175
+ <a id="__codelineno-29-5" name="__codelineno-29-5" href="#__codelineno-29-5"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_viewname</span><span class="o">(</span><span class="s1">&#39;list&#39;</span><span class="o">)</span> <span class="cp">}}</span>
9743
10176
  </code></pre></div>
9744
10177
  <h3 id="validated_api_viewname">validated_api_viewname<a class="headerlink" href="#validated_api_viewname" title="Permanent link">&para;</a></h3>
9745
10178
  <p>Return the API view name for the given model and action if valid, or None if invalid.</p>
9746
- <div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a><span class="x"># Django Template</span>
9747
- <a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_api_viewname</span><span class="s1">:&#39;detail&#39;</span> <span class="cp">}}</span>
9748
- <a id="__codelineno-27-3" name="__codelineno-27-3" href="#__codelineno-27-3"></a>
9749
- <a id="__codelineno-27-4" name="__codelineno-27-4" href="#__codelineno-27-4"></a><span class="x"># Jinja</span>
9750
- <a id="__codelineno-27-5" name="__codelineno-27-5" href="#__codelineno-27-5"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_api_viewname</span><span class="o">(</span><span class="s1">&#39;detail&#39;</span><span class="o">)</span> <span class="cp">}}</span>
10179
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a><span class="x"># Django Template</span>
10180
+ <a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_api_viewname</span><span class="s1">:&#39;detail&#39;</span> <span class="cp">}}</span>
10181
+ <a id="__codelineno-30-3" name="__codelineno-30-3" href="#__codelineno-30-3"></a>
10182
+ <a id="__codelineno-30-4" name="__codelineno-30-4" href="#__codelineno-30-4"></a><span class="x"># Jinja</span>
10183
+ <a id="__codelineno-30-5" name="__codelineno-30-5" href="#__codelineno-30-5"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">validated_api_viewname</span><span class="o">(</span><span class="s1">&#39;detail&#39;</span><span class="o">)</span> <span class="cp">}}</span>
9751
10184
  </code></pre></div>
9752
10185
  <h3 id="viewname">viewname<a class="headerlink" href="#viewname" title="Permanent link">&para;</a></h3>
9753
10186
  <p>Return the view name for the given model and action. Does not perform any validation.</p>
9754
- <div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a><span class="x"># Django Template</span>
9755
- <a id="__codelineno-28-2" name="__codelineno-28-2" href="#__codelineno-28-2"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">viewname</span><span class="s1">:&#39;list&#39;</span> <span class="cp">}}</span>
9756
- <a id="__codelineno-28-3" name="__codelineno-28-3" href="#__codelineno-28-3"></a>
9757
- <a id="__codelineno-28-4" name="__codelineno-28-4" href="#__codelineno-28-4"></a><span class="x"># Jinja</span>
9758
- <a id="__codelineno-28-5" name="__codelineno-28-5" href="#__codelineno-28-5"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">viewname</span><span class="o">(</span><span class="s1">&#39;list&#39;</span><span class="o">)</span> <span class="cp">}}</span>
10187
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a><span class="x"># Django Template</span>
10188
+ <a id="__codelineno-31-2" name="__codelineno-31-2" href="#__codelineno-31-2"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">viewname</span><span class="s1">:&#39;list&#39;</span> <span class="cp">}}</span>
10189
+ <a id="__codelineno-31-3" name="__codelineno-31-3" href="#__codelineno-31-3"></a>
10190
+ <a id="__codelineno-31-4" name="__codelineno-31-4" href="#__codelineno-31-4"></a><span class="x"># Jinja</span>
10191
+ <a id="__codelineno-31-5" name="__codelineno-31-5" href="#__codelineno-31-5"></a><span class="cp">{{</span> <span class="nv">obj</span> <span class="o">|</span> <span class="nf">viewname</span><span class="o">(</span><span class="s1">&#39;list&#39;</span><span class="o">)</span> <span class="cp">}}</span>
9759
10192
  </code></pre></div>
9760
10193
 
9761
10194
 
@@ -9900,10 +10333,10 @@ additionally if there is an <code>object.description</code> this will be used as
9900
10333
  </div>
9901
10334
 
9902
10335
 
9903
- <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.6ce7567c.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>
10336
+ <script id="__config" type="application/json">{"base": "../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.6ce7567c.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>
9904
10337
 
9905
10338
 
9906
- <script src="../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
10339
+ <script src="../../assets/javascripts/bundle.83f73b43.min.js"></script>
9907
10340
 
9908
10341
  <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
9909
10342