nautobot 2.4.17__py3-none-any.whl → 2.4.19__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 (627) hide show
  1. nautobot/apps/ui.py +6 -0
  2. nautobot/apps/views.py +2 -0
  3. nautobot/circuits/tables.py +1 -1
  4. nautobot/circuits/templates/circuits/circuit_create.html +7 -7
  5. nautobot/circuits/templates/circuits/circuit_retrieve.html +1 -5
  6. nautobot/circuits/templates/circuits/circuittermination_create.html +26 -26
  7. nautobot/circuits/templates/circuits/circuittermination_retrieve.html +1 -8
  8. nautobot/circuits/templates/circuits/inc/circuit_termination.html +20 -20
  9. nautobot/circuits/templates/circuits/inc/circuit_termination_header_extra_content.html +3 -3
  10. nautobot/circuits/templates/circuits/inc/circuit_termination_speed_fragment.html +9 -0
  11. nautobot/circuits/templates/circuits/providernetwork_retrieve.html +1 -3
  12. nautobot/circuits/tests/integration/test_circuit.py +2 -2
  13. nautobot/circuits/views.py +49 -15
  14. nautobot/cloud/templates/cloud/cloudaccount_retrieve.html +1 -4
  15. nautobot/cloud/templates/cloud/cloudnetwork_retrieve.html +1 -7
  16. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +1 -3
  17. nautobot/cloud/templates/cloud/cloudservice_retrieve.html +1 -5
  18. nautobot/cloud/views.py +45 -0
  19. nautobot/core/filters.py +2 -2
  20. nautobot/core/graphql/generators.py +5 -2
  21. nautobot/core/jobs/bulk_actions.py +48 -85
  22. nautobot/core/models/querysets.py +2 -1
  23. nautobot/core/settings.py +1 -0
  24. nautobot/core/settings.yaml +9 -0
  25. nautobot/core/tables.py +21 -23
  26. nautobot/core/templates/40x.html +15 -15
  27. nautobot/core/templates/500.html +21 -21
  28. nautobot/core/templates/admin/app_index.html +8 -8
  29. nautobot/core/templates/admin/base.html +104 -104
  30. nautobot/core/templates/admin/change_form.html +65 -65
  31. nautobot/core/templates/admin/change_list.html +60 -60
  32. nautobot/core/templates/admin/change_list_results.html +39 -39
  33. nautobot/core/templates/admin/config/config.html +47 -47
  34. nautobot/core/templates/admin/delete_confirmation.html +47 -47
  35. nautobot/core/templates/admin/edit_inline/stacked.html +124 -124
  36. nautobot/core/templates/admin/edit_inline/tabular.html +60 -60
  37. nautobot/core/templates/admin/includes/fieldset.html +4 -4
  38. nautobot/core/templates/admin/index.html +60 -60
  39. nautobot/core/templates/admin/prepopulated_fields_js.html +18 -18
  40. nautobot/core/templates/admin/submit_line.html +4 -4
  41. nautobot/core/templates/base_django.html +46 -46
  42. nautobot/core/templates/buttons/consolidated_bulk_action_buttons.html +8 -8
  43. nautobot/core/templates/buttons/consolidated_detail_view_action_buttons.html +8 -8
  44. nautobot/core/templates/buttons/export.html +3 -3
  45. nautobot/core/templates/components/breadcrumbs.html +19 -0
  46. nautobot/core/templates/components/button/default.html +3 -3
  47. nautobot/core/templates/components/button/dropdown.html +7 -7
  48. nautobot/core/templates/components/button/formbutton.html +4 -4
  49. nautobot/core/templates/components/panel/body_content_data_table.html +1 -1
  50. nautobot/core/templates/components/panel/body_wrapper_generic_table.html +3 -0
  51. nautobot/core/templates/components/panel/footer_content_table.html +3 -1
  52. nautobot/core/templates/components/panel/header_extra_content_table.html +10 -1
  53. nautobot/core/templates/components/tab/content_wrapper.html +1 -1
  54. nautobot/core/templates/components/tab/label_wrapper.html +1 -1
  55. nautobot/core/templates/components/tab/label_wrapper_distinct_view.html +10 -3
  56. nautobot/core/templates/generic/object_bulk_add_component.html +40 -40
  57. nautobot/core/templates/generic/object_bulk_create.html +3 -3
  58. nautobot/core/templates/generic/object_bulk_destroy.html +6 -6
  59. nautobot/core/templates/generic/object_bulk_update.html +52 -52
  60. nautobot/core/templates/generic/object_changelog.html +0 -2
  61. nautobot/core/templates/generic/object_import.html +33 -33
  62. nautobot/core/templates/generic/object_list.html +271 -268
  63. nautobot/core/templates/generic/object_notes.html +0 -2
  64. nautobot/core/templates/generic/object_retrieve.html +264 -257
  65. nautobot/core/templates/graphene/graphiql.html +127 -127
  66. nautobot/core/templates/home.html +62 -62
  67. nautobot/core/templates/inc/computed_fields/panel_data.html +13 -13
  68. nautobot/core/templates/inc/created_updated.html +8 -8
  69. nautobot/core/templates/inc/custom_fields/panel_data.html +13 -13
  70. nautobot/core/templates/inc/dynamic_groups_panel.html +11 -11
  71. nautobot/core/templates/inc/footer.html +19 -19
  72. nautobot/core/templates/inc/javascript.html +1 -1
  73. nautobot/core/templates/inc/media.html +46 -46
  74. nautobot/core/templates/inc/nav_menu.html +1 -1
  75. nautobot/core/templates/inc/relationships_table_rows.html +22 -22
  76. nautobot/core/templates/inc/tenant_table_row.html +1 -1
  77. nautobot/core/templates/login.html +77 -77
  78. nautobot/core/templates/media_failure.html +38 -38
  79. nautobot/core/templates/panel_table.html +1 -1
  80. nautobot/core/templates/rest_framework/api.html +3 -3
  81. nautobot/core/templates/search.html +1 -1
  82. nautobot/core/templates/swagger_ui.html +9 -9
  83. nautobot/core/templates/utilities/confirmation_form.html +18 -18
  84. nautobot/core/templates/utilities/render_field.html +1 -1
  85. nautobot/core/templates/utilities/render_jinja2.html +43 -43
  86. nautobot/core/templates/utilities/templatetags/filter_form_modal.html +56 -56
  87. nautobot/core/templates/utilities/templatetags/utilization_graph.html +1 -1
  88. nautobot/core/templates/utilities/theme_preview.html +799 -799
  89. nautobot/core/templates/utilities/worker_status.html +122 -122
  90. nautobot/core/templates/widgets/clearable_file.html +3 -3
  91. nautobot/core/templates/widgets/sluginput.html +1 -1
  92. nautobot/core/templatetags/buttons.py +8 -2
  93. nautobot/core/templatetags/helpers.py +24 -0
  94. nautobot/core/templatetags/ui_framework.py +40 -5
  95. nautobot/core/testing/filters.py +37 -21
  96. nautobot/core/testing/integration.py +7 -4
  97. nautobot/core/testing/views.py +49 -5
  98. nautobot/core/tests/test_breadcrumbs.py +78 -4
  99. nautobot/core/tests/test_commands.py +7 -4
  100. nautobot/core/tests/test_graphql.py +20 -5
  101. nautobot/core/tests/test_jobs.py +34 -21
  102. nautobot/core/tests/test_tables.py +43 -6
  103. nautobot/core/tests/test_templatetags_ui_framework.py +146 -0
  104. nautobot/core/tests/test_titles.py +2 -2
  105. nautobot/core/tests/test_ui.py +188 -1
  106. nautobot/core/tests/test_utils.py +35 -0
  107. nautobot/core/tests/test_views.py +45 -0
  108. nautobot/core/tests/test_views_generic.py +43 -0
  109. nautobot/core/tests/test_views_utils.py +239 -5
  110. nautobot/core/ui/breadcrumbs.py +220 -28
  111. nautobot/core/ui/bulk_buttons.py +8 -0
  112. nautobot/core/ui/object_detail.py +181 -60
  113. nautobot/core/ui/titles.py +10 -5
  114. nautobot/core/utils/requests.py +27 -2
  115. nautobot/core/views/__init__.py +24 -3
  116. nautobot/core/views/generic.py +70 -35
  117. nautobot/core/views/mixins.py +226 -122
  118. nautobot/core/views/utils.py +270 -1
  119. nautobot/dcim/api/serializers.py +8 -2
  120. nautobot/dcim/constants.py +1 -0
  121. nautobot/dcim/factory.py +4 -3
  122. nautobot/dcim/filters/mixins.py +1 -2
  123. nautobot/dcim/forms.py +5 -1
  124. nautobot/dcim/migrations/0074_alter_rack_u_height.py +21 -0
  125. nautobot/dcim/models/devices.py +30 -1
  126. nautobot/dcim/models/racks.py +2 -2
  127. nautobot/dcim/tables/__init__.py +2 -0
  128. nautobot/dcim/tables/devices.py +24 -0
  129. nautobot/dcim/tables/power.py +2 -2
  130. nautobot/dcim/templates/dcim/cable.html +53 -53
  131. nautobot/dcim/templates/dcim/cable_connect.html +182 -182
  132. nautobot/dcim/templates/dcim/cable_trace.html +1 -1
  133. nautobot/dcim/templates/dcim/console_port_connection_list.html +5 -5
  134. nautobot/dcim/templates/dcim/consoleport.html +86 -86
  135. nautobot/dcim/templates/dcim/consoleserverport.html +86 -86
  136. nautobot/dcim/templates/dcim/controller_create.html +34 -34
  137. nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +68 -68
  138. nautobot/dcim/templates/dcim/device/base.html +1 -114
  139. nautobot/dcim/templates/dcim/device/config.html +17 -17
  140. nautobot/dcim/templates/dcim/device/consoleports.html +1 -52
  141. nautobot/dcim/templates/dcim/device/consoleserverports.html +1 -52
  142. nautobot/dcim/templates/dcim/device/devicebays.html +1 -48
  143. nautobot/dcim/templates/dcim/device/frontports.html +1 -52
  144. nautobot/dcim/templates/dcim/device/interfaces.html +1 -56
  145. nautobot/dcim/templates/dcim/device/inventory.html +1 -48
  146. nautobot/dcim/templates/dcim/device/lldp_neighbors.html +64 -64
  147. nautobot/dcim/templates/dcim/device/modulebays.html +1 -48
  148. nautobot/dcim/templates/dcim/device/poweroutlets.html +1 -52
  149. nautobot/dcim/templates/dcim/device/powerports.html +1 -52
  150. nautobot/dcim/templates/dcim/device/rearports.html +1 -52
  151. nautobot/dcim/templates/dcim/device/status.html +66 -66
  152. nautobot/dcim/templates/dcim/device/wireless.html +1 -72
  153. nautobot/dcim/templates/dcim/device.html +4 -422
  154. nautobot/dcim/templates/dcim/device_component.html +0 -19
  155. nautobot/dcim/templates/dcim/device_component_add.html +25 -25
  156. nautobot/dcim/templates/dcim/device_create.html +229 -0
  157. nautobot/dcim/templates/dcim/device_edit.html +2 -227
  158. nautobot/dcim/templates/dcim/devicebay.html +41 -41
  159. nautobot/dcim/templates/dcim/devicebay_populate.html +32 -32
  160. nautobot/dcim/templates/dcim/devicetype_component_add.html +28 -28
  161. nautobot/dcim/templates/dcim/devicetype_retrieve.html +1 -3
  162. nautobot/dcim/templates/dcim/frontport.html +84 -84
  163. nautobot/dcim/templates/dcim/inc/cable_toggle_buttons.html +1 -1
  164. nautobot/dcim/templates/dcim/inc/device_interface_filter.html +8 -0
  165. nautobot/dcim/templates/dcim/inc/device_napalm_tabs.html +1 -15
  166. nautobot/dcim/templates/dcim/inc/location_hierarchy.html +22 -22
  167. nautobot/dcim/templates/dcim/interface.html +206 -206
  168. nautobot/dcim/templates/dcim/interface_connection_list.html +5 -5
  169. nautobot/dcim/templates/dcim/interfaceredundancygroupassociation_create.html +6 -6
  170. nautobot/dcim/templates/dcim/inventoryitem.html +44 -44
  171. nautobot/dcim/templates/dcim/inventoryitem_add.html +32 -32
  172. nautobot/dcim/templates/dcim/inventoryitem_edit.html +22 -22
  173. nautobot/dcim/templates/dcim/location_migrate_data_to_contact.html +46 -46
  174. nautobot/dcim/templates/dcim/location_retrieve.html +1 -7
  175. nautobot/dcim/templates/dcim/locationtype.html +1 -6
  176. nautobot/dcim/templates/dcim/locationtype_retrieve.html +1 -7
  177. nautobot/dcim/templates/dcim/module/base.html +85 -85
  178. nautobot/dcim/templates/dcim/module_interfaces.html +1 -1
  179. nautobot/dcim/templates/dcim/module_modulebays.html +1 -1
  180. nautobot/dcim/templates/dcim/module_retrieve.html +52 -52
  181. nautobot/dcim/templates/dcim/module_update.html +61 -61
  182. nautobot/dcim/templates/dcim/modulebay_destroy.html +1 -1
  183. nautobot/dcim/templates/dcim/modulebay_retrieve.html +83 -99
  184. nautobot/dcim/templates/dcim/modulebay_update.html +33 -33
  185. nautobot/dcim/templates/dcim/modulefamily_retrieve.html +1 -1
  186. nautobot/dcim/templates/dcim/moduletype_retrieve.html +140 -144
  187. nautobot/dcim/templates/dcim/platform_create.html +38 -38
  188. nautobot/dcim/templates/dcim/power_port_connection_list.html +5 -5
  189. nautobot/dcim/templates/dcim/powerfeed_retrieve.html +1 -8
  190. nautobot/dcim/templates/dcim/poweroutlet.html +85 -85
  191. nautobot/dcim/templates/dcim/powerpanel_retrieve.html +1 -8
  192. nautobot/dcim/templates/dcim/powerport.html +91 -91
  193. nautobot/dcim/templates/dcim/rack_elevation_list.html +18 -18
  194. nautobot/dcim/templates/dcim/rack_retrieve.html +264 -274
  195. nautobot/dcim/templates/dcim/rackreservation_retrieve.html +0 -3
  196. nautobot/dcim/templates/dcim/rearport.html +78 -78
  197. nautobot/dcim/templates/dcim/virtualchassis_retrieve.html +1 -50
  198. nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +1 -5
  199. nautobot/dcim/tests/integration/test_device_bulk_operations.py +3 -2
  200. nautobot/dcim/tests/integration/test_location_bulk_operations.py +6 -2
  201. nautobot/dcim/tests/test_api.py +33 -1
  202. nautobot/dcim/tests/test_views.py +189 -4
  203. nautobot/dcim/ui.py +29 -0
  204. nautobot/dcim/urls.py +1 -109
  205. nautobot/dcim/utils.py +30 -0
  206. nautobot/dcim/views.py +1149 -550
  207. nautobot/extras/filters/mixins.py +1 -1
  208. nautobot/extras/forms/forms.py +15 -0
  209. nautobot/extras/models/groups.py +10 -1
  210. nautobot/extras/models/jobs.py +2 -2
  211. nautobot/extras/plugins/views.py +18 -5
  212. nautobot/extras/tables.py +24 -2
  213. nautobot/extras/templates/extras/computedfield_edit.html +4 -4
  214. nautobot/extras/templates/extras/configcontext_update.html +1 -1
  215. nautobot/extras/templates/extras/configcontextschema_retrieve.html +32 -32
  216. nautobot/extras/templates/extras/customfield_retrieve.html +1 -128
  217. nautobot/extras/templates/extras/customfield_update.html +23 -23
  218. nautobot/extras/templates/extras/dynamicgroup.html +2 -99
  219. nautobot/extras/templates/extras/dynamicgroup_edit.html +2 -199
  220. nautobot/extras/templates/extras/dynamicgroup_retrieve.html +99 -0
  221. nautobot/extras/templates/extras/dynamicgroup_update.html +199 -0
  222. nautobot/extras/templates/extras/gitrepository.html +2 -82
  223. nautobot/extras/templates/extras/gitrepository_list.html +10 -10
  224. nautobot/extras/templates/extras/gitrepository_object_edit.html +2 -13
  225. nautobot/extras/templates/extras/gitrepository_retrieve.html +82 -0
  226. nautobot/extras/templates/extras/gitrepository_update.html +13 -0
  227. nautobot/extras/templates/extras/graphqlquery_retrieve.html +73 -73
  228. nautobot/extras/templates/extras/inc/configcontext_format.html +2 -2
  229. nautobot/extras/templates/extras/inc/job_table.html +10 -10
  230. nautobot/extras/templates/extras/inc/jobresult.html +21 -21
  231. nautobot/extras/templates/extras/inc/jobresult_js.html +6 -6
  232. nautobot/extras/templates/extras/inc/tags_panel.html +10 -10
  233. nautobot/extras/templates/extras/job.html +64 -64
  234. nautobot/extras/templates/extras/job_approval_request.html +9 -9
  235. nautobot/extras/templates/extras/job_bulk_edit.html +13 -13
  236. nautobot/extras/templates/extras/job_edit.html +45 -45
  237. nautobot/extras/templates/extras/job_list.html +4 -4
  238. nautobot/extras/templates/extras/jobresult_retrieve.html +0 -25
  239. nautobot/extras/templates/extras/marketplace.html +101 -101
  240. nautobot/extras/templates/extras/metadatatype_create.html +20 -20
  241. nautobot/extras/templates/extras/note_retrieve.html +0 -52
  242. nautobot/extras/templates/extras/object_assign_contact_or_team.html +18 -18
  243. nautobot/extras/templates/extras/object_configcontext.html +1 -3
  244. nautobot/extras/templates/extras/objectchange.html +2 -165
  245. nautobot/extras/templates/extras/objectchange_retrieve.html +165 -0
  246. nautobot/extras/templates/extras/plugin_detail.html +44 -48
  247. nautobot/extras/templates/extras/plugins_list.html +9 -11
  248. nautobot/extras/templates/extras/plugins_tiles.html +26 -26
  249. nautobot/extras/templates/extras/relationship_edit.html +4 -4
  250. nautobot/extras/templates/extras/role_retrieve.html +13 -13
  251. nautobot/extras/templates/extras/scheduled_jobs_approval_queue_list.html +21 -21
  252. nautobot/extras/templates/extras/scheduledjob.html +128 -128
  253. nautobot/extras/templates/extras/secret_create.html +53 -53
  254. nautobot/extras/templates/extras/secretsgroup_update.html +13 -13
  255. nautobot/extras/templates/extras/templatetags/plugin_object_detail_tabs.html +3 -3
  256. nautobot/extras/templates/extras/webhook.html +79 -79
  257. nautobot/extras/tests/integration/test_relationships.py +6 -6
  258. nautobot/extras/tests/test_dynamicgroups.py +73 -18
  259. nautobot/extras/tests/test_filters.py +1 -1
  260. nautobot/extras/tests/test_jobs.py +2 -0
  261. nautobot/extras/tests/test_views.py +8 -3
  262. nautobot/extras/urls.py +3 -97
  263. nautobot/extras/views.py +524 -456
  264. nautobot/ipam/filters.py +2 -2
  265. nautobot/ipam/migrations/0053_alter_vrfdeviceassignment_options_and_more.py +20 -0
  266. nautobot/ipam/models.py +34 -0
  267. nautobot/ipam/querysets.py +3 -3
  268. nautobot/ipam/signals.py +6 -1
  269. nautobot/ipam/tables.py +3 -1
  270. nautobot/ipam/templates/ipam/inc/prefix_header_extra_content_table.html +4 -0
  271. nautobot/ipam/templates/ipam/inc/toggle_available.html +8 -8
  272. nautobot/ipam/templates/ipam/inc/vlangroup_header.html +4 -4
  273. nautobot/ipam/templates/ipam/ipaddress.html +119 -123
  274. nautobot/ipam/templates/ipam/ipaddress_assign.html +10 -10
  275. nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -1
  276. nautobot/ipam/templates/ipam/ipaddress_merge.html +180 -180
  277. nautobot/ipam/templates/ipam/ipaddresstointerface_retrieve.html +48 -48
  278. nautobot/ipam/templates/ipam/prefix.html +2 -115
  279. nautobot/ipam/templates/ipam/prefix_create.html +34 -0
  280. nautobot/ipam/templates/ipam/prefix_edit.html +1 -34
  281. nautobot/ipam/templates/ipam/prefix_retrieve.html +3 -0
  282. nautobot/ipam/templates/ipam/service_retrieve.html +1 -6
  283. nautobot/ipam/templates/ipam/vlan_retrieve.html +1 -7
  284. nautobot/ipam/templates/ipam/vrf_edit.html +1 -1
  285. nautobot/ipam/tests/test_api.py +5 -0
  286. nautobot/ipam/tests/test_models.py +387 -0
  287. nautobot/ipam/tests/test_querysets.py +46 -0
  288. nautobot/ipam/tests/test_views.py +34 -0
  289. nautobot/ipam/ui.py +145 -0
  290. nautobot/ipam/urls.py +1 -46
  291. nautobot/ipam/utils/__init__.py +26 -0
  292. nautobot/ipam/utils/migrations.py +1 -1
  293. nautobot/ipam/views.py +234 -112
  294. nautobot/project-static/docs/404.html +11 -11
  295. nautobot/project-static/docs/apps/index.html +11 -11
  296. nautobot/project-static/docs/apps/nautobot-apps.html +11 -11
  297. nautobot/project-static/docs/assets/javascripts/{bundle.92b07e13.min.js → bundle.f55a23d4.min.js} +2 -2
  298. nautobot/project-static/docs/assets/javascripts/{bundle.92b07e13.min.js.map → bundle.f55a23d4.min.js.map} +2 -2
  299. nautobot/project-static/docs/assets/stylesheets/{main.7e37652d.min.css → main.e53b48f4.min.css} +1 -1
  300. nautobot/project-static/docs/assets/stylesheets/{main.7e37652d.min.css.map → main.e53b48f4.min.css.map} +1 -1
  301. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +11 -11
  302. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +11 -11
  303. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +11 -11
  304. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +11 -11
  305. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +11 -11
  306. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +11 -11
  307. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +11 -11
  308. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +11 -11
  309. nautobot/project-static/docs/code-reference/nautobot/apps/events.html +11 -11
  310. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +11 -11
  311. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +11 -11
  312. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +11 -11
  313. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +11 -11
  314. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +11 -11
  315. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +11 -11
  316. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +11 -11
  317. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +11 -11
  318. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +11 -11
  319. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +11 -11
  320. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +83 -11
  321. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +1265 -281
  322. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +11 -11
  323. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +12 -12
  324. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +452 -29
  325. nautobot/project-static/docs/development/apps/api/configuration-view.html +11 -11
  326. nautobot/project-static/docs/development/apps/api/database-backend-config.html +11 -11
  327. nautobot/project-static/docs/development/apps/api/models/django-admin.html +11 -11
  328. nautobot/project-static/docs/development/apps/api/models/global-search.html +11 -11
  329. nautobot/project-static/docs/development/apps/api/models/graphql.html +11 -11
  330. nautobot/project-static/docs/development/apps/api/models/index.html +11 -11
  331. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +12 -12
  332. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +11 -11
  333. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +11 -11
  334. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +11 -11
  335. nautobot/project-static/docs/development/apps/api/platform-features/index.html +11 -11
  336. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +11 -11
  337. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +11 -11
  338. nautobot/project-static/docs/development/apps/api/platform-features/prepopulating-data.html +11 -11
  339. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +11 -11
  340. nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +11 -11
  341. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +11 -11
  342. nautobot/project-static/docs/development/apps/api/prometheus.html +11 -11
  343. nautobot/project-static/docs/development/apps/api/setup.html +11 -11
  344. nautobot/project-static/docs/development/apps/api/testing.html +11 -11
  345. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +11 -11
  346. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +11 -11
  347. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +11 -11
  348. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +11 -11
  349. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +11 -11
  350. nautobot/project-static/docs/development/apps/api/views/base-template.html +11 -11
  351. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +11 -11
  352. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +11 -11
  353. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +11 -11
  354. nautobot/project-static/docs/development/apps/api/views/index.html +11 -11
  355. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +11 -11
  356. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +11 -11
  357. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +11 -11
  358. nautobot/project-static/docs/development/apps/api/views/notes.html +11 -11
  359. nautobot/project-static/docs/development/apps/api/views/rest-api.html +11 -11
  360. nautobot/project-static/docs/development/apps/api/views/urls.html +11 -11
  361. nautobot/project-static/docs/development/apps/index.html +11 -11
  362. nautobot/project-static/docs/development/apps/migration/code-updates.html +11 -11
  363. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +11 -11
  364. nautobot/project-static/docs/development/apps/migration/from-v1.html +11 -11
  365. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +11 -11
  366. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +11 -11
  367. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +11 -11
  368. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +11 -11
  369. nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +11 -11
  370. nautobot/project-static/docs/development/apps/migration/ui-component-framework/breadcrumbs-titles.html +11 -11
  371. nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +11 -11
  372. nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +11 -11
  373. nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +11 -11
  374. nautobot/project-static/docs/development/apps/porting-from-netbox.html +11 -11
  375. nautobot/project-static/docs/development/core/application-registry.html +11 -11
  376. nautobot/project-static/docs/development/core/best-practices.html +11 -11
  377. nautobot/project-static/docs/development/core/bootstrap-ui.html +11 -11
  378. nautobot/project-static/docs/development/core/caching.html +11 -11
  379. nautobot/project-static/docs/development/core/controllers.html +11 -11
  380. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +11 -11
  381. nautobot/project-static/docs/development/core/generic-views.html +11 -11
  382. nautobot/project-static/docs/development/core/getting-started.html +50 -63
  383. nautobot/project-static/docs/development/core/homepage.html +11 -11
  384. nautobot/project-static/docs/development/core/index.html +11 -11
  385. nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +11 -11
  386. nautobot/project-static/docs/development/core/model-checklist.html +11 -11
  387. nautobot/project-static/docs/development/core/model-features.html +11 -11
  388. nautobot/project-static/docs/development/core/natural-keys.html +11 -11
  389. nautobot/project-static/docs/development/core/navigation-menu.html +11 -11
  390. nautobot/project-static/docs/development/core/release-checklist.html +11 -11
  391. nautobot/project-static/docs/development/core/role-internals.html +11 -11
  392. nautobot/project-static/docs/development/core/settings.html +11 -11
  393. nautobot/project-static/docs/development/core/style-guide.html +15 -11
  394. nautobot/project-static/docs/development/core/templates.html +11 -11
  395. nautobot/project-static/docs/development/core/testing.html +11 -11
  396. nautobot/project-static/docs/development/core/ui-component-framework.html +17 -22
  397. nautobot/project-static/docs/development/core/user-preferences.html +11 -11
  398. nautobot/project-static/docs/development/index.html +11 -11
  399. nautobot/project-static/docs/development/jobs/getting-started.html +11 -11
  400. nautobot/project-static/docs/development/jobs/index.html +11 -11
  401. nautobot/project-static/docs/development/jobs/installation.html +11 -11
  402. nautobot/project-static/docs/development/jobs/job-extensions.html +11 -11
  403. nautobot/project-static/docs/development/jobs/job-logging.html +11 -11
  404. nautobot/project-static/docs/development/jobs/job-patterns.html +11 -11
  405. nautobot/project-static/docs/development/jobs/job-structure.html +11 -11
  406. nautobot/project-static/docs/development/jobs/migration/from-v1.html +11 -11
  407. nautobot/project-static/docs/development/jobs/testing.html +11 -11
  408. nautobot/project-static/docs/index.html +11 -11
  409. nautobot/project-static/docs/objects.inv +0 -0
  410. nautobot/project-static/docs/overview/application_stack.html +11 -11
  411. nautobot/project-static/docs/overview/design_philosophy.html +11 -11
  412. nautobot/project-static/docs/release-notes/index.html +11 -11
  413. nautobot/project-static/docs/release-notes/version-1.0.html +11 -11
  414. nautobot/project-static/docs/release-notes/version-1.1.html +11 -11
  415. nautobot/project-static/docs/release-notes/version-1.2.html +11 -11
  416. nautobot/project-static/docs/release-notes/version-1.3.html +11 -11
  417. nautobot/project-static/docs/release-notes/version-1.4.html +11 -11
  418. nautobot/project-static/docs/release-notes/version-1.5.html +11 -11
  419. nautobot/project-static/docs/release-notes/version-1.6.html +11 -11
  420. nautobot/project-static/docs/release-notes/version-2.0.html +11 -11
  421. nautobot/project-static/docs/release-notes/version-2.1.html +11 -11
  422. nautobot/project-static/docs/release-notes/version-2.2.html +11 -11
  423. nautobot/project-static/docs/release-notes/version-2.3.html +11 -11
  424. nautobot/project-static/docs/release-notes/version-2.4.html +418 -11
  425. nautobot/project-static/docs/search/search_index.json +1 -1
  426. nautobot/project-static/docs/sitemap.xml +300 -300
  427. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  428. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +11 -11
  429. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +11 -11
  430. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +11 -11
  431. nautobot/project-static/docs/user-guide/administration/configuration/index.html +11 -11
  432. nautobot/project-static/docs/user-guide/administration/configuration/redis.html +11 -11
  433. nautobot/project-static/docs/user-guide/administration/configuration/settings.html +38 -11
  434. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +11 -11
  435. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +89 -14
  436. nautobot/project-static/docs/user-guide/administration/guides/docker.html +11 -11
  437. nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +11 -11
  438. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +11 -11
  439. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +11 -11
  440. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +11 -11
  441. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +11 -11
  442. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +11 -11
  443. nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +11 -11
  444. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +11 -11
  445. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +11 -11
  446. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +11 -11
  447. nautobot/project-static/docs/user-guide/administration/installation/index.html +11 -11
  448. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +11 -11
  449. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +11 -11
  450. nautobot/project-static/docs/user-guide/administration/installation/services.html +11 -11
  451. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +11 -11
  452. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +11 -11
  453. nautobot/project-static/docs/user-guide/administration/security/index.html +11 -11
  454. nautobot/project-static/docs/user-guide/administration/security/notices.html +11 -11
  455. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +11 -11
  456. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +11 -11
  457. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +11 -11
  458. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +11 -11
  459. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +11 -11
  460. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +11 -11
  461. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +11 -11
  462. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +11 -11
  463. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +11 -11
  464. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +11 -11
  465. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +11 -11
  466. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +11 -11
  467. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +11 -11
  468. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +11 -11
  469. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +11 -11
  470. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +11 -11
  471. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +11 -11
  472. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +11 -11
  473. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +11 -11
  474. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +11 -11
  475. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +11 -11
  476. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +11 -11
  477. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +11 -11
  478. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +11 -11
  479. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +11 -11
  480. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +11 -11
  481. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +11 -11
  482. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +11 -11
  483. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +11 -11
  484. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +11 -11
  485. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +11 -11
  486. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +11 -11
  487. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +11 -11
  488. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +11 -11
  489. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +11 -11
  490. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +11 -11
  491. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +11 -11
  492. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +11 -11
  493. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +11 -11
  494. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +11 -11
  495. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +11 -11
  496. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +11 -11
  497. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +11 -11
  498. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +11 -11
  499. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +11 -11
  500. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +11 -11
  501. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +11 -11
  502. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +11 -11
  503. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulefamily.html +11 -11
  504. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +11 -11
  505. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +11 -11
  506. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +11 -11
  507. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +11 -11
  508. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +11 -11
  509. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +11 -11
  510. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +11 -11
  511. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +11 -11
  512. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +11 -11
  513. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +11 -11
  514. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +11 -11
  515. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +11 -11
  516. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +11 -11
  517. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +11 -11
  518. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +11 -11
  519. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +11 -11
  520. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +11 -11
  521. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +11 -11
  522. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +11 -11
  523. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +11 -11
  524. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +11 -11
  525. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +11 -11
  526. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +11 -11
  527. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +11 -11
  528. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +11 -11
  529. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +11 -11
  530. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +11 -11
  531. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +11 -11
  532. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +11 -11
  533. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +11 -11
  534. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +11 -11
  535. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +11 -11
  536. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +11 -11
  537. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +11 -11
  538. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +11 -11
  539. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +11 -11
  540. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +11 -11
  541. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +11 -11
  542. nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +11 -11
  543. nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +11 -11
  544. nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +11 -11
  545. nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +11 -11
  546. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +11 -11
  547. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +11 -11
  548. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +11 -11
  549. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +11 -11
  550. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +11 -11
  551. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +11 -11
  552. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +11 -11
  553. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +11 -11
  554. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +11 -11
  555. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +11 -11
  556. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +11 -11
  557. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +11 -11
  558. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +11 -11
  559. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +11 -11
  560. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +11 -11
  561. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +11 -11
  562. nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +11 -11
  563. nautobot/project-static/docs/user-guide/index.html +11 -11
  564. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +11 -11
  565. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +11 -11
  566. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +11 -11
  567. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +11 -11
  568. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +11 -11
  569. nautobot/project-static/docs/user-guide/platform-functionality/events.html +11 -11
  570. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +11 -11
  571. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +11 -11
  572. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +11 -11
  573. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +11 -11
  574. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +11 -11
  575. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +11 -11
  576. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +11 -11
  577. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +11 -11
  578. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +11 -11
  579. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +11 -11
  580. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +11 -11
  581. nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +11 -11
  582. nautobot/project-static/docs/user-guide/platform-functionality/jobs/managing-jobs.html +11 -11
  583. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +11 -11
  584. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +11 -11
  585. nautobot/project-static/docs/user-guide/platform-functionality/note.html +11 -11
  586. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +11 -11
  587. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +11 -11
  588. nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +11 -11
  589. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +11 -11
  590. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +11 -11
  591. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +11 -11
  592. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +11 -11
  593. nautobot/project-static/docs/user-guide/platform-functionality/role.html +11 -11
  594. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +11 -11
  595. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +11 -11
  596. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +11 -11
  597. nautobot/project-static/docs/user-guide/platform-functionality/status.html +11 -11
  598. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +11 -11
  599. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +11 -11
  600. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +11 -11
  601. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +11 -11
  602. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +11 -11
  603. nautobot/project-static/img/nautobot_icon.svg +32 -34
  604. nautobot/project-static/js/table_sorting_indicator.js +0 -2
  605. nautobot/tenancy/templates/tenancy/tenant.html +1 -7
  606. nautobot/tenancy/views.py +13 -0
  607. nautobot/users/templates/users/api_tokens.html +4 -4
  608. nautobot/users/templates/users/base.html +28 -28
  609. nautobot/virtualization/templates/virtualization/cluster.html +64 -64
  610. nautobot/virtualization/templates/virtualization/inc/virtualmachine_vminterface_filter.html +8 -0
  611. nautobot/virtualization/templates/virtualization/virtualmachine_component_add.html +25 -25
  612. nautobot/virtualization/templates/virtualization/virtualmachine_retrieve.html +1 -251
  613. nautobot/virtualization/templates/virtualization/vminterface.html +70 -70
  614. nautobot/virtualization/urls.py +0 -12
  615. nautobot/virtualization/views.py +158 -54
  616. nautobot/wireless/templates/wireless/wirelessnetwork_create.html +13 -13
  617. nautobot/wireless/tests/integration/test_radio_profile.py +1 -1
  618. {nautobot-2.4.17.dist-info → nautobot-2.4.19.dist-info}/METADATA +4 -4
  619. {nautobot-2.4.17.dist-info → nautobot-2.4.19.dist-info}/RECORD +623 -607
  620. nautobot/core/templates/inc/breadcrumbs.html +0 -14
  621. nautobot/ipam/templates/ipam/prefix_ipaddresses.html +0 -11
  622. nautobot/ipam/templates/ipam/prefix_prefixes.html +0 -11
  623. nautobot/project-static/docs/requirements.txt +0 -14
  624. {nautobot-2.4.17.dist-info → nautobot-2.4.19.dist-info}/LICENSE.txt +0 -0
  625. {nautobot-2.4.17.dist-info → nautobot-2.4.19.dist-info}/NOTICE +0 -0
  626. {nautobot-2.4.17.dist-info → nautobot-2.4.19.dist-info}/WHEEL +0 -0
  627. {nautobot-2.4.17.dist-info → nautobot-2.4.19.dist-info}/entry_points.txt +0 -0
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <link rel="icon" href="../../../assets/favicon.ico">
21
- <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.18">
21
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.20">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.7e37652d.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.e53b48f4.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -40,7 +40,7 @@
40
40
 
41
41
 
42
42
 
43
- <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3C%21--%21%20Font%20Awesome%20Free%207.0.0%20by%20%40fontawesome%20-%20https%3A//fontawesome.com%20License%20-%20https%3A//fontawesome.com/license/free%20%28Icons%3A%20CC%20BY%204.0%2C%20Fonts%3A%20SIL%20OFL%201.1%2C%20Code%3A%20MIT%20License%29%20Copyright%202025%20Fonticons%2C%20Inc.--%3E%3Cpath%20fill%3D%22currentColor%22%20d%3D%22M288%200H128c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032v151.5L7.5%20426.3C2.6%20435%200%20444.7%200%20454.7%200%20486.4%2025.6%20512%2057.3%20512h333.4c31.6%200%2057.3-25.6%2057.3-57.3%200-10-2.6-19.8-7.5-28.4L320%20215.5V64c17.7%200%2032-14.3%2032-32S337.7%200%20320%200zm-96%20215.5V64h64v151.5c0%2011.1%202.9%2022.1%208.4%2031.8L306%20320H142l41.6-72.7c5.5-9.7%208.4-20.6%208.4-31.8%22/%3E%3C/svg%3E');}</style>
43
+ <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3C%21--%21%20Font%20Awesome%20Free%207.0.0%20by%20%40fontawesome%20-%20https%3A//fontawesome.com%20License%20-%20https%3A//fontawesome.com/license/free%20%28Icons%3A%20CC%20BY%204.0%2C%20Fonts%3A%20SIL%20OFL%201.1%2C%20Code%3A%20MIT%20License%29%20Copyright%202025%20Fonticons%2C%20Inc.--%3E%3Cpath%20d%3D%22M288%200H128c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032v151.5L7.5%20426.3C2.6%20435%200%20444.7%200%20454.7%200%20486.4%2025.6%20512%2057.3%20512h333.4c31.6%200%2057.3-25.6%2057.3-57.3%200-10-2.6-19.8-7.5-28.4L320%20215.5V64c17.7%200%2032-14.3%2032-32S337.7%200%20320%200zm-96%20215.5V64h64v151.5c0%2011.1%202.9%2022.1%208.4%2031.8L306%20320H142l41.6-72.7c5.5-9.7%208.4-20.6%208.4-31.8%22/%3E%3C/svg%3E');}</style>
44
44
 
45
45
 
46
46
 
@@ -222,7 +222,7 @@
222
222
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
223
223
  <div class="md-source__icon md-icon">
224
224
 
225
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
225
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
226
226
  </div>
227
227
  <div class="md-source__repository">
228
228
  GitHub
@@ -394,7 +394,7 @@
394
394
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
395
395
  <div class="md-source__icon md-icon">
396
396
 
397
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
397
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M439.6 236.1 244 40.5c-5.4-5.5-12.8-8.5-20.4-8.5s-15 3-20.4 8.4L162.5 81l51.5 51.5c27.1-9.1 52.7 16.8 43.4 43.7l49.7 49.7c34.2-11.8 61.2 31 35.5 56.7-26.5 26.5-70.2-2.9-56-37.3L240.3 199v121.9c25.3 12.5 22.3 41.8 9.1 55-6.4 6.4-15.2 10.1-24.3 10.1s-17.8-3.6-24.3-10.1c-17.6-17.6-11.1-46.9 11.2-56v-123c-20.8-8.5-24.6-30.7-18.6-45L142.6 101 8.5 235.1C3 240.6 0 247.9 0 255.5s3 15 8.5 20.4l195.6 195.7c5.4 5.4 12.7 8.4 20.4 8.4s15-3 20.4-8.4l194.7-194.7c5.4-5.4 8.4-12.8 8.4-20.4s-3-15-8.4-20.4"/></svg>
398
398
  </div>
399
399
  <div class="md-source__repository">
400
400
  GitHub
@@ -9183,6 +9183,39 @@
9183
9183
  </ul>
9184
9184
  </nav>
9185
9185
 
9186
+ </li>
9187
+
9188
+ <li class="md-nav__item">
9189
+ <a href="#nautobot.apps.views.UIComponentsMixin" class="md-nav__link">
9190
+ <span class="md-ellipsis">
9191
+ UIComponentsMixin
9192
+ </span>
9193
+ </a>
9194
+
9195
+ <nav class="md-nav" aria-label="UIComponentsMixin">
9196
+ <ul class="md-nav__list">
9197
+
9198
+ <li class="md-nav__item">
9199
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="md-nav__link">
9200
+ <span class="md-ellipsis">
9201
+ get_breadcrumbs
9202
+ </span>
9203
+ </a>
9204
+
9205
+ </li>
9206
+
9207
+ <li class="md-nav__item">
9208
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_view_titles" class="md-nav__link">
9209
+ <span class="md-ellipsis">
9210
+ get_view_titles
9211
+ </span>
9212
+ </a>
9213
+
9214
+ </li>
9215
+
9216
+ </ul>
9217
+ </nav>
9218
+
9186
9219
  </li>
9187
9220
 
9188
9221
  <li class="md-nav__item">
@@ -11890,6 +11923,39 @@
11890
11923
  </ul>
11891
11924
  </nav>
11892
11925
 
11926
+ </li>
11927
+
11928
+ <li class="md-nav__item">
11929
+ <a href="#nautobot.apps.views.UIComponentsMixin" class="md-nav__link">
11930
+ <span class="md-ellipsis">
11931
+ UIComponentsMixin
11932
+ </span>
11933
+ </a>
11934
+
11935
+ <nav class="md-nav" aria-label="UIComponentsMixin">
11936
+ <ul class="md-nav__list">
11937
+
11938
+ <li class="md-nav__item">
11939
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="md-nav__link">
11940
+ <span class="md-ellipsis">
11941
+ get_breadcrumbs
11942
+ </span>
11943
+ </a>
11944
+
11945
+ </li>
11946
+
11947
+ <li class="md-nav__item">
11948
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_view_titles" class="md-nav__link">
11949
+ <span class="md-ellipsis">
11950
+ get_view_titles
11951
+ </span>
11952
+ </a>
11953
+
11954
+ </li>
11955
+
11956
+ </ul>
11957
+ </nav>
11958
+
11893
11959
  </li>
11894
11960
 
11895
11961
  <li class="md-nav__item">
@@ -12072,7 +12138,7 @@
12072
12138
 
12073
12139
  <div class="doc doc-contents ">
12074
12140
  <p class="doc doc-class-bases">
12075
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12141
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12076
12142
 
12077
12143
 
12078
12144
  <p>Add one or more components (e.g. interfaces, console ports, etc.) to a set of Devices or VirtualMachines.</p>
@@ -12117,7 +12183,7 @@
12117
12183
 
12118
12184
  <div class="doc doc-contents ">
12119
12185
  <p class="doc doc-class-bases">
12120
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12186
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12121
12187
 
12122
12188
 
12123
12189
  <p>Create new objects in bulk.</p>
@@ -12167,7 +12233,7 @@ template_name: The name of the template</p>
12167
12233
 
12168
12234
  <div class="doc doc-contents ">
12169
12235
  <p class="doc doc-class-bases">
12170
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12236
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12171
12237
 
12172
12238
 
12173
12239
  <p>Delete objects in bulk.</p>
@@ -12235,7 +12301,7 @@ template_name: The name of the template</p>
12235
12301
 
12236
12302
  <div class="doc doc-contents ">
12237
12303
  <p class="doc doc-class-bases">
12238
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12304
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="nautobot.core.views.mixins.BulkEditAndBulkDeleteModelMixin">BulkEditAndBulkDeleteModelMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12239
12305
 
12240
12306
 
12241
12307
  <p>Edit objects in bulk.</p>
@@ -12303,7 +12369,7 @@ template_name: The name of the template</p>
12303
12369
 
12304
12370
  <div class="doc doc-contents ">
12305
12371
  <p class="doc doc-class-bases">
12306
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12372
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12307
12373
 
12308
12374
 
12309
12375
  <p>Import objects in bulk (CSV format).</p>
@@ -12352,7 +12418,7 @@ template_name: The name of the template</p>
12352
12418
 
12353
12419
  <div class="doc doc-contents ">
12354
12420
  <p class="doc doc-class-bases">
12355
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12421
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12356
12422
 
12357
12423
 
12358
12424
  <p>An extendable view for renaming objects in bulk.</p>
@@ -12470,7 +12536,7 @@ template_name: The name of the template</p>
12470
12536
 
12471
12537
  <div class="doc doc-contents ">
12472
12538
  <p class="doc doc-class-bases">
12473
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12539
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
12474
12540
 
12475
12541
 
12476
12542
  <p>Add one or more components (e.g. interfaces, console ports, etc.) to a Device or VirtualMachine.</p>
@@ -12585,7 +12651,7 @@ and fits within Nautobot's custom permission enforcement system.</p>
12585
12651
 
12586
12652
  <div class="doc doc-contents ">
12587
12653
  <p class="doc doc-class-bases">
12588
- Bases: <code><span title="django.contrib.auth.mixins.LoginRequiredMixin">LoginRequiredMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12654
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><span title="django.contrib.auth.mixins.LoginRequiredMixin">LoginRequiredMixin</span></code>, <code><span title="django.views.generic.View">View</span></code></p>
12589
12655
 
12590
12656
 
12591
12657
  <p>Base class for non-object-related views.</p>
@@ -12598,6 +12664,22 @@ and fits within Nautobot's custom permission enforcement system.</p>
12598
12664
 
12599
12665
 
12600
12666
 
12667
+
12668
+
12669
+ <div class="doc doc-children">
12670
+
12671
+
12672
+
12673
+
12674
+
12675
+
12676
+
12677
+
12678
+
12679
+
12680
+
12681
+ </div>
12682
+
12601
12683
  </div>
12602
12684
 
12603
12685
  </div>
@@ -12862,10 +12944,10 @@ and then initialize and return the filter_form used in the ObjectListView UI.</p
12862
12944
 
12863
12945
  <div class="doc doc-contents ">
12864
12946
  <p class="doc doc-class-bases">
12865
- Bases: <code><span title="rest_framework.viewsets.GenericViewSet">GenericViewSet</span></code>, <code><span title="django.contrib.auth.mixins.AccessMixin">AccessMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><span title="django.views.generic.edit.FormView">FormView</span></code></p>
12947
+ Bases: <code><span title="rest_framework.viewsets.GenericViewSet">GenericViewSet</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><span title="django.contrib.auth.mixins.AccessMixin">AccessMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><span title="django.views.generic.edit.FormView">FormView</span></code></p>
12866
12948
 
12867
12949
 
12868
- <p>NautobotViewSetMixin is an aggregation of various mixins from DRF, Django and Nautobot to acheive the desired behavior pattern for NautobotUIViewSet</p>
12950
+ <p>NautobotViewSetMixin is an aggregation of various mixins from DRF, Django and Nautobot to achieve the desired behavior pattern for NautobotUIViewSet</p>
12869
12951
 
12870
12952
 
12871
12953
 
@@ -13026,9 +13108,54 @@ Should be overriden by user if customization is needed.</p>
13026
13108
 
13027
13109
  <div class="doc doc-contents ">
13028
13110
 
13029
- <p>Return any additional context data for the template.
13030
- request: The current request
13031
- instance: The object being viewed</p>
13111
+ <p>Return any additional context data for the template.</p>
13112
+
13113
+
13114
+ <p><span class="doc-section-title">Parameters:</span></p>
13115
+ <table>
13116
+ <thead>
13117
+ <tr>
13118
+ <th>Name</th>
13119
+ <th>Type</th>
13120
+ <th>Description</th>
13121
+ <th>Default</th>
13122
+ </tr>
13123
+ </thead>
13124
+ <tbody>
13125
+ <tr class="doc-section-item">
13126
+ <td>
13127
+ <code>request</code>
13128
+ </td>
13129
+ <td>
13130
+ <code><span title="Request">Request</span></code>
13131
+ </td>
13132
+ <td>
13133
+ <div class="doc-md-description">
13134
+ <p>The current request</p>
13135
+ </div>
13136
+ </td>
13137
+ <td>
13138
+ <em>required</em>
13139
+ </td>
13140
+ </tr>
13141
+ <tr class="doc-section-item">
13142
+ <td>
13143
+ <code>instance</code>
13144
+ </td>
13145
+ <td>
13146
+ <code><span title="django.db.models.Model">Model</span></code>
13147
+ </td>
13148
+ <td>
13149
+ <div class="doc-md-description">
13150
+ <p>The specific object being viewed, if any</p>
13151
+ </div>
13152
+ </td>
13153
+ <td>
13154
+ <code>None</code>
13155
+ </td>
13156
+ </tr>
13157
+ </tbody>
13158
+ </table>
13032
13159
 
13033
13160
 
13034
13161
  </div>
@@ -13459,7 +13586,7 @@ will be used, as per <code>get_base_template()</code>.</p>
13459
13586
 
13460
13587
  <div class="doc doc-contents ">
13461
13588
  <p class="doc doc-class-bases">
13462
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13589
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13463
13590
 
13464
13591
 
13465
13592
  <p>Delete a single object.</p>
@@ -13723,7 +13850,7 @@ will be used, as per <code>get_base_template()</code>.</p>
13723
13850
 
13724
13851
  <div class="doc doc-contents ">
13725
13852
  <p class="doc doc-class-bases">
13726
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13853
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
13727
13854
 
13728
13855
 
13729
13856
  <p>Create or edit a single object.</p>
@@ -14052,7 +14179,7 @@ Override to add more variables to Response.</p>
14052
14179
 
14053
14180
  <div class="doc doc-contents ">
14054
14181
  <p class="doc doc-class-bases">
14055
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14182
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.GetReturnURLMixin (nautobot.core.views.mixins.GetReturnURLMixin)" href="#nautobot.apps.views.GetReturnURLMixin">GetReturnURLMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14056
14183
 
14057
14184
 
14058
14185
  <p>Import a single object (YAML or JSON format).</p>
@@ -14101,7 +14228,7 @@ template_name: The name of the template</p>
14101
14228
 
14102
14229
  <div class="doc doc-contents ">
14103
14230
  <p class="doc doc-class-bases">
14104
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14231
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14105
14232
 
14106
14233
 
14107
14234
  <p>List a series of objects.</p>
@@ -14481,7 +14608,7 @@ to return only those objects on which the user is permitted to perform the speci
14481
14608
 
14482
14609
  <div class="doc doc-contents ">
14483
14610
  <p class="doc doc-class-bases">
14484
- Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14611
+ Bases: <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.UIComponentsMixin (nautobot.core.views.mixins.UIComponentsMixin)" href="#nautobot.apps.views.UIComponentsMixin">UIComponentsMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.apps.views.ObjectPermissionRequiredMixin (nautobot.core.views.mixins.ObjectPermissionRequiredMixin)" href="#nautobot.apps.views.ObjectPermissionRequiredMixin">ObjectPermissionRequiredMixin</a></code>, <code><span title="django.views.generic.View">View</span></code></p>
14485
14612
 
14486
14613
 
14487
14614
  <p>Retrieve a single object for display.</p>
@@ -14633,6 +14760,302 @@ template_name: Name of the template to use</p>
14633
14760
 
14634
14761
 
14635
14762
 
14763
+ </div>
14764
+
14765
+ </div>
14766
+
14767
+ </div>
14768
+
14769
+ <div class="doc doc-object doc-class">
14770
+
14771
+
14772
+
14773
+ <h2 id="nautobot.apps.views.UIComponentsMixin" class="doc doc-heading">
14774
+ <code>nautobot.apps.views.UIComponentsMixin</code>
14775
+
14776
+
14777
+ <a href="#nautobot.apps.views.UIComponentsMixin" class="headerlink" title="Permanent link">&para;</a></h2>
14778
+
14779
+
14780
+ <div class="doc doc-contents ">
14781
+
14782
+
14783
+ <p>Mixin that resolves UI components (e.g., breadcrumbs, titles) either from:
14784
+ 1) the current view class (preferred),
14785
+ 2) a related view class for a given model (via <code>lookup.get_view_for_model()</code>),
14786
+ 3) or a default component class.</p>
14787
+ <p>The public helpers (<code>get_view_titles()</code>, <code>get_breadcrumbs()</code>) return concrete
14788
+ component <em>instances</em> ready to use in renderers/templates.</p>
14789
+ <p>It should be used in views that use the <code>nautobot.apps.views.GenericView</code> and standard Nautobot templates.</p>
14790
+ <p>Example usage:
14791
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>def get(self, request, *args, **kwargs):
14792
+ <a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a> context = {
14793
+ <a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a> ...
14794
+ <a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a> &quot;breadcrumbs&quot;: self.get_breadcrumbs(model),
14795
+ <a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> }
14796
+ <a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> context[&quot;title&quot;] = self.get_view_titles(model).render(context)
14797
+ <a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a>
14798
+ <a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a> return render(
14799
+ <a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a> request,
14800
+ <a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a> &quot;extras/plugins_list.html&quot;,
14801
+ <a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a> context,
14802
+ <a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> )
14803
+ </code></pre></div></p>
14804
+
14805
+
14806
+ <p><span class="doc-section-title">Attributes:</span></p>
14807
+ <table>
14808
+ <thead>
14809
+ <tr>
14810
+ <th>Name</th>
14811
+ <th>Type</th>
14812
+ <th>Description</th>
14813
+ </tr>
14814
+ </thead>
14815
+ <tbody>
14816
+ <tr class="doc-section-item">
14817
+ <td><code><span title="nautobot.apps.views.UIComponentsMixin.breadcrumbs">breadcrumbs</span></code></td>
14818
+ <td>
14819
+ <code><span title="typing.ClassVar">ClassVar</span>[<span title="typing.Optional">Optional</span>[<a class="autorefs autorefs-internal" title="nautobot.apps.ui.Breadcrumbs (nautobot.core.ui.breadcrumbs.Breadcrumbs)" href="ui.html#nautobot.apps.ui.Breadcrumbs">Breadcrumbs</a>]]</code>
14820
+ </td>
14821
+ <td>
14822
+ <div class="doc-md-description">
14823
+ <p>Optional component declared on the view class. May be:
14824
+ - <code>None</code> (no local definition, fall back),
14825
+ - a component <em>class</em> (will be instantiated),
14826
+ - or a pre-instantiated component (returned as-is).</p>
14827
+ </div>
14828
+ </td>
14829
+ </tr>
14830
+ <tr class="doc-section-item">
14831
+ <td><code><span title="nautobot.apps.views.UIComponentsMixin.view_titles">view_titles</span></code></td>
14832
+ <td>
14833
+ <code><span title="typing.ClassVar">ClassVar</span>[<span title="typing.Optional">Optional</span>[<a class="autorefs autorefs-internal" title="nautobot.apps.ui.Titles (nautobot.core.ui.titles.Titles)" href="ui.html#nautobot.apps.ui.Titles">Titles</a>]]</code>
14834
+ </td>
14835
+ <td>
14836
+ <div class="doc-md-description">
14837
+ <p>Same contract as <code>breadcrumbs</code>,
14838
+ but for titles.</p>
14839
+ </div>
14840
+ </td>
14841
+ </tr>
14842
+ </tbody>
14843
+ </table>
14844
+
14845
+
14846
+
14847
+
14848
+
14849
+
14850
+
14851
+
14852
+
14853
+
14854
+ <div class="doc doc-children">
14855
+
14856
+
14857
+
14858
+
14859
+
14860
+
14861
+
14862
+
14863
+
14864
+ <div class="doc doc-object doc-function">
14865
+
14866
+
14867
+ <h3 id="nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="doc doc-heading">
14868
+ <code class="highlight language-python"><span class="n">get_breadcrumbs</span><span class="p">(</span><span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">view_type</span><span class="o">=</span><span class="s1">&#39;List&#39;</span><span class="p">)</span></code>
14869
+
14870
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_breadcrumbs" class="headerlink" title="Permanent link">&para;</a></h3>
14871
+
14872
+
14873
+ <div class="doc doc-contents ">
14874
+
14875
+ <p>Resolve and return the <code>Breadcrumbs</code> component instance.</p>
14876
+ <p>Resolution order mirrors <code>get_view_titles()</code>:
14877
+ 1) Use <code>self.breadcrumbs</code> if set locally.
14878
+ 2) Else, if <code>model</code> is provided, copy the <code>breadcrumbs</code> from the view
14879
+ class associated with that model via <code>lookup.get_view_for_model(model, action)</code>.
14880
+ 3) Else return a new default <code>Breadcrumbs()</code>.</p>
14881
+
14882
+
14883
+ <p><span class="doc-section-title">Parameters:</span></p>
14884
+ <table>
14885
+ <thead>
14886
+ <tr>
14887
+ <th>Name</th>
14888
+ <th>Type</th>
14889
+ <th>Description</th>
14890
+ <th>Default</th>
14891
+ </tr>
14892
+ </thead>
14893
+ <tbody>
14894
+ <tr class="doc-section-item">
14895
+ <td>
14896
+ <code>model</code>
14897
+ </td>
14898
+ <td>
14899
+ <code><span title="typing.Union">Union</span>[None, <span title="str">str</span>, <span title="typing.Type">Type</span>[<span title="django.db.models.Model">Model</span>], <span title="django.db.models.Model">Model</span>]</code>
14900
+ </td>
14901
+ <td>
14902
+ <div class="doc-md-description">
14903
+ <p>A Django model <strong>class</strong>, <strong>instance</strong>, dotted name string, or <code>None</code>.
14904
+ Passed to <code>lookup.get_view_for_model()</code> to find the related view class.
14905
+ If <code>None</code>, only local/default resolution is used.</p>
14906
+ </div>
14907
+ </td>
14908
+ <td>
14909
+ <code>None</code>
14910
+ </td>
14911
+ </tr>
14912
+ <tr class="doc-section-item">
14913
+ <td>
14914
+ <code>view_type</code>
14915
+ </td>
14916
+ <td>
14917
+ <code><span title="str">str</span></code>
14918
+ </td>
14919
+ <td>
14920
+ <div class="doc-md-description">
14921
+ <p>Logical view type used by <code>lookup.get_view_for_model()</code> (e.g., <code>"List"</code> or empty to construct <code>"DeviceView"</code> string).</p>
14922
+ </div>
14923
+ </td>
14924
+ <td>
14925
+ <code>&#39;List&#39;</code>
14926
+ </td>
14927
+ </tr>
14928
+ </tbody>
14929
+ </table>
14930
+
14931
+
14932
+ <p><span class="doc-section-title">Returns:</span></p>
14933
+ <table>
14934
+ <thead>
14935
+ <tr>
14936
+ <th>Name</th> <th>Type</th>
14937
+ <th>Description</th>
14938
+ </tr>
14939
+ </thead>
14940
+ <tbody>
14941
+ <tr class="doc-section-item">
14942
+ <td><code>Breadcrumbs</code></td> <td>
14943
+ <code><a class="autorefs autorefs-internal" title="nautobot.apps.ui.Breadcrumbs (nautobot.core.ui.breadcrumbs.Breadcrumbs)" href="ui.html#nautobot.apps.ui.Breadcrumbs">Breadcrumbs</a></code>
14944
+ </td>
14945
+ <td>
14946
+ <div class="doc-md-description">
14947
+ <p>A concrete <code>Breadcrumbs</code> component instance.</p>
14948
+ </div>
14949
+ </td>
14950
+ </tr>
14951
+ </tbody>
14952
+ </table>
14953
+
14954
+
14955
+ </div>
14956
+
14957
+ </div>
14958
+
14959
+ <div class="doc doc-object doc-function">
14960
+
14961
+
14962
+ <h3 id="nautobot.apps.views.UIComponentsMixin.get_view_titles" class="doc doc-heading">
14963
+ <code class="highlight language-python"><span class="n">get_view_titles</span><span class="p">(</span><span class="n">model</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">view_type</span><span class="o">=</span><span class="s1">&#39;List&#39;</span><span class="p">)</span></code>
14964
+
14965
+ <a href="#nautobot.apps.views.UIComponentsMixin.get_view_titles" class="headerlink" title="Permanent link">&para;</a></h3>
14966
+
14967
+
14968
+ <div class="doc doc-contents ">
14969
+
14970
+ <p>Resolve and return the <code>Titles</code> component instance.</p>
14971
+
14972
+
14973
+ <details class="resolution-order" open>
14974
+ <summary>Resolution order</summary>
14975
+ <p>1) If <code>self.view_titles</code> is set on the current view, use it.
14976
+ 2) Else, if <code>model</code> is provided, copy the <code>view_titles</code> from the view
14977
+ class associated with that model via <code>lookup.get_view_for_model(model, action)</code>.
14978
+ 3) Else, instantiate and return the default <code>Titles()</code>.</p>
14979
+ </details>
14980
+
14981
+ <p><span class="doc-section-title">Parameters:</span></p>
14982
+ <table>
14983
+ <thead>
14984
+ <tr>
14985
+ <th>Name</th>
14986
+ <th>Type</th>
14987
+ <th>Description</th>
14988
+ <th>Default</th>
14989
+ </tr>
14990
+ </thead>
14991
+ <tbody>
14992
+ <tr class="doc-section-item">
14993
+ <td>
14994
+ <code>model</code>
14995
+ </td>
14996
+ <td>
14997
+ <code><span title="typing.Union">Union</span>[None, <span title="str">str</span>, <span title="typing.Type">Type</span>[<span title="django.db.models.Model">Model</span>], <span title="django.db.models.Model">Model</span>]</code>
14998
+ </td>
14999
+ <td>
15000
+ <div class="doc-md-description">
15001
+ <p>A Django model <strong>class</strong>, <strong>instance</strong>, dotted name string, or <code>None</code>.
15002
+ Passed to <code>lookup.get_view_for_model()</code> to find the related view class.
15003
+ If <code>None</code>, only local/default resolution is used.</p>
15004
+ </div>
15005
+ </td>
15006
+ <td>
15007
+ <code>None</code>
15008
+ </td>
15009
+ </tr>
15010
+ <tr class="doc-section-item">
15011
+ <td>
15012
+ <code>view_type</code>
15013
+ </td>
15014
+ <td>
15015
+ <code><span title="str">str</span></code>
15016
+ </td>
15017
+ <td>
15018
+ <div class="doc-md-description">
15019
+ <p>Logical view type used by <code>lookup.get_view_for_model()</code> (e.g., <code>"List"</code> or empty to construct <code>"DeviceView"</code> string).</p>
15020
+ </div>
15021
+ </td>
15022
+ <td>
15023
+ <code>&#39;List&#39;</code>
15024
+ </td>
15025
+ </tr>
15026
+ </tbody>
15027
+ </table>
15028
+
15029
+
15030
+ <p><span class="doc-section-title">Returns:</span></p>
15031
+ <table>
15032
+ <thead>
15033
+ <tr>
15034
+ <th>Name</th> <th>Type</th>
15035
+ <th>Description</th>
15036
+ </tr>
15037
+ </thead>
15038
+ <tbody>
15039
+ <tr class="doc-section-item">
15040
+ <td><code>Titles</code></td> <td>
15041
+ <code><a class="autorefs autorefs-internal" title="nautobot.apps.ui.Titles (nautobot.core.ui.titles.Titles)" href="ui.html#nautobot.apps.ui.Titles">Titles</a></code>
15042
+ </td>
15043
+ <td>
15044
+ <div class="doc-md-description">
15045
+ <p>A concrete <code>Titles</code> component instance ready to use.</p>
15046
+ </div>
15047
+ </td>
15048
+ </tr>
15049
+ </tbody>
15050
+ </table>
15051
+
15052
+
15053
+ </div>
15054
+
15055
+ </div>
15056
+
15057
+
15058
+
14636
15059
  </div>
14637
15060
 
14638
15061
  </div>
@@ -14994,7 +15417,7 @@ applicable.</p>
14994
15417
 
14995
15418
 
14996
15419
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
14997
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
15420
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64m0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0m32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32"/></svg>
14998
15421
  </a>
14999
15422
 
15000
15423
 
@@ -15002,7 +15425,7 @@ applicable.</p>
15002
15425
 
15003
15426
 
15004
15427
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
15005
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M549.7 124.1c-6.2-23.7-24.8-42.3-48.3-48.6C458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5c-23.5 6.3-42 24.9-48.3 48.6C15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8C117.3 448 288.1 448 288.1 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6V175.2l142.7 81.2z"/></svg>
15428
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M549.7 124.1c-6.2-23.7-24.8-42.3-48.3-48.6C458.9 64 288.1 64 288.1 64S117.3 64 74.7 75.5c-23.5 6.3-42 24.9-48.3 48.6C15 167 15 256.4 15 256.4s0 89.4 11.4 132.3c6.3 23.6 24.8 41.5 48.3 47.8C117.3 448 288.1 448 288.1 448s170.8 0 213.4-11.5c23.5-6.3 42-24.2 48.3-47.8 11.4-42.9 11.4-132.3 11.4-132.3s0-89.4-11.4-132.3zM232.2 337.6V175.2l142.7 81.2z"/></svg>
15006
15429
  </a>
15007
15430
 
15008
15431
 
@@ -15010,7 +15433,7 @@ applicable.</p>
15010
15433
 
15011
15434
 
15012
15435
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
15013
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M94.1 315.1c0 25.9-21.2 47.1-47.1 47.1S0 341 0 315.1 21.2 268 47.1 268h47.1v47.1zm23.7 0c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1v117.8c0 25.9-21.2 47.1-47.1 47.1s-47.1-21.2-47.1-47.1zm47.1-189c-25.9 0-47.1-21.2-47.1-47.1s21.2-47 47.1-47S212 53.2 212 79.1v47.1h-47.1zm0 23.7c25.9 0 47.1 21.2 47.1 47.1S190.8 244 164.9 244H47.1C21.2 244 0 222.8 0 196.9s21.2-47.1 47.1-47.1zm189 47.1c0-25.9 21.2-47.1 47.1-47.1s47 21.2 47 47.1-21.2 47.1-47.1 47.1h-47.1v-47.1zm-23.7 0c0 25.9-21.2 47.1-47.1 47.1S236 222.8 236 196.9V79.1c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1zm-47.1 189c25.9 0 47.1 21.2 47.1 47.1s-21.2 47-47.1 47-47.1-21.2-47.1-47.1v-47.1h47.1zm0-23.7c-25.9 0-47.1-21.2-47.1-47.1s21.2-47.1 47.1-47.1h117.8c25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1z"/></svg>
15436
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M94.1 315.1c0 25.9-21.2 47.1-47.1 47.1S0 341 0 315.1 21.2 268 47.1 268h47.1v47.1zm23.7 0c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1v117.8c0 25.9-21.2 47.1-47.1 47.1s-47.1-21.2-47.1-47.1zm47.1-189c-25.9 0-47.1-21.2-47.1-47.1s21.2-47 47.1-47S212 53.2 212 79.1v47.1h-47.1zm0 23.7c25.9 0 47.1 21.2 47.1 47.1S190.8 244 164.9 244H47.1C21.2 244 0 222.8 0 196.9s21.2-47.1 47.1-47.1zm189 47.1c0-25.9 21.2-47.1 47.1-47.1s47 21.2 47 47.1-21.2 47.1-47.1 47.1h-47.1v-47.1zm-23.7 0c0 25.9-21.2 47.1-47.1 47.1S236 222.8 236 196.9V79.1c0-25.9 21.2-47.1 47.1-47.1s47.1 21.2 47.1 47.1zm-47.1 189c25.9 0 47.1 21.2 47.1 47.1s-21.2 47-47.1 47-47.1-21.2-47.1-47.1v-47.1h47.1zm0-23.7c-25.9 0-47.1-21.2-47.1-47.1s21.2-47.1 47.1-47.1h117.8c25.9 0 47.1 21.2 47.1 47.1s-21.2 47.1-47.1 47.1z"/></svg>
15014
15437
  </a>
15015
15438
 
15016
15439
 
@@ -15018,7 +15441,7 @@ applicable.</p>
15018
15441
 
15019
15442
 
15020
15443
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
15021
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
15444
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
15022
15445
  </a>
15023
15446
 
15024
15447
 
@@ -15026,7 +15449,7 @@ applicable.</p>
15026
15449
 
15027
15450
 
15028
15451
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
15029
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor" d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
15452
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg>
15030
15453
  </a>
15031
15454
 
15032
15455
  </div>
@@ -15046,7 +15469,7 @@ applicable.</p>
15046
15469
  <script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.annotate", "content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.973d3a69.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
15047
15470
 
15048
15471
 
15049
- <script src="../../../assets/javascripts/bundle.92b07e13.min.js"></script>
15472
+ <script src="../../../assets/javascripts/bundle.f55a23d4.min.js"></script>
15050
15473
 
15051
15474
 
15052
15475
  <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});