nautobot 2.2.8__py3-none-any.whl → 2.3.0__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 (704) hide show
  1. nautobot/apps/forms.py +4 -0
  2. nautobot/apps/models.py +10 -1
  3. nautobot/circuits/__init__.py +0 -1
  4. nautobot/circuits/apps.py +1 -0
  5. nautobot/circuits/factory.py +15 -3
  6. nautobot/circuits/filters.py +13 -0
  7. nautobot/circuits/forms.py +13 -0
  8. nautobot/circuits/migrations/0021_alter_circuit_status_alter_circuittermination__path.py +32 -0
  9. nautobot/circuits/migrations/0022_circuittermination_cloud_network.py +25 -0
  10. nautobot/circuits/models.py +16 -3
  11. nautobot/circuits/tables.py +16 -2
  12. nautobot/circuits/templates/circuits/circuittermination_create.html +10 -2
  13. nautobot/circuits/templates/circuits/circuittermination_retrieve.html +6 -0
  14. nautobot/circuits/templates/circuits/inc/circuit_termination.html +6 -1
  15. nautobot/circuits/tests/test_api.py +7 -5
  16. nautobot/circuits/tests/test_filters.py +12 -5
  17. nautobot/circuits/tests/test_models.py +33 -2
  18. nautobot/circuits/views.py +2 -3
  19. nautobot/cloud/__init__.py +0 -0
  20. nautobot/cloud/api/__init__.py +0 -0
  21. nautobot/cloud/api/serializers.py +54 -0
  22. nautobot/cloud/api/urls.py +16 -0
  23. nautobot/cloud/api/views.py +48 -0
  24. nautobot/cloud/apps.py +13 -0
  25. nautobot/cloud/factory.py +113 -0
  26. nautobot/cloud/filters.py +187 -0
  27. nautobot/cloud/forms.py +339 -0
  28. nautobot/cloud/homepage.py +43 -0
  29. nautobot/cloud/migrations/0001_initial.py +304 -0
  30. nautobot/cloud/migrations/__init__.py +0 -0
  31. nautobot/cloud/models.py +246 -0
  32. nautobot/cloud/navigation.py +85 -0
  33. nautobot/cloud/tables.py +157 -0
  34. nautobot/cloud/templates/cloud/cloudaccount_retrieve.html +43 -0
  35. nautobot/cloud/templates/cloud/cloudnetwork_retrieve.html +122 -0
  36. nautobot/cloud/templates/cloud/cloudnetwork_update.html +33 -0
  37. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +111 -0
  38. nautobot/cloud/templates/cloud/cloudservice_retrieve.html +69 -0
  39. nautobot/cloud/templates/cloud/cloudservice_update.html +25 -0
  40. nautobot/cloud/tests/__init__.py +0 -0
  41. nautobot/cloud/tests/test_api.py +248 -0
  42. nautobot/cloud/tests/test_filters.py +125 -0
  43. nautobot/cloud/tests/test_models.py +43 -0
  44. nautobot/cloud/tests/test_views.py +153 -0
  45. nautobot/cloud/urls.py +14 -0
  46. nautobot/cloud/views.py +181 -0
  47. nautobot/core/__init__.py +0 -3
  48. nautobot/core/api/metadata.py +1 -0
  49. nautobot/core/api/parsers.py +7 -1
  50. nautobot/core/api/urls.py +1 -0
  51. nautobot/core/api/utils.py +1 -0
  52. nautobot/core/api/views.py +4 -0
  53. nautobot/core/apps/__init__.py +6 -3
  54. nautobot/core/constants.py +8 -0
  55. nautobot/core/factory.py +32 -1
  56. nautobot/core/filters.py +110 -14
  57. nautobot/core/forms/fields.py +10 -4
  58. nautobot/core/forms/forms.py +11 -3
  59. nautobot/core/forms/widgets.py +18 -1
  60. nautobot/core/graphql/generators.py +2 -2
  61. nautobot/core/graphql/schema.py +28 -7
  62. nautobot/core/jobs/__init__.py +20 -3
  63. nautobot/core/jobs/cleanup.py +100 -0
  64. nautobot/core/jobs/groups.py +38 -0
  65. nautobot/core/management/commands/generate_test_data.py +116 -3
  66. nautobot/core/models/__init__.py +34 -9
  67. nautobot/core/models/generics.py +19 -3
  68. nautobot/core/models/name_color_content_types.py +7 -28
  69. nautobot/core/models/querysets.py +4 -3
  70. nautobot/core/models/tree_queries.py +1 -1
  71. nautobot/core/models/utils.py +21 -5
  72. nautobot/core/settings.py +15 -19
  73. nautobot/core/settings.yaml +48 -13
  74. nautobot/core/settings_funcs.py +103 -0
  75. nautobot/core/tables.py +130 -56
  76. nautobot/core/templates/admin/search_form.html +1 -1
  77. nautobot/core/templates/buttons/add.html +11 -3
  78. nautobot/core/templates/buttons/consolidated_bulk_action_buttons.html +13 -0
  79. nautobot/core/templates/buttons/consolidated_detail_view_action_buttons.html +13 -0
  80. nautobot/core/templates/buttons/export.html +101 -53
  81. nautobot/core/templates/buttons/job_import.html +11 -3
  82. nautobot/core/templates/generic/object_bulk_destroy.html +3 -1
  83. nautobot/core/templates/generic/object_bulk_update.html +3 -1
  84. nautobot/core/templates/generic/object_changelog.html +0 -9
  85. nautobot/core/templates/generic/object_list.html +156 -17
  86. nautobot/core/templates/generic/object_retrieve.html +80 -16
  87. nautobot/core/templates/inc/extras_features_edit_form_fields.html +8 -0
  88. nautobot/core/templates/inc/javascript.html +2 -0
  89. nautobot/core/templates/inc/media.html +2 -2
  90. nautobot/core/templates/inc/nav_menu.html +1 -0
  91. nautobot/core/templates/inc/paginator.html +7 -7
  92. nautobot/core/templates/inc/search_panel.html +2 -2
  93. nautobot/core/templates/inc/table.html +2 -2
  94. nautobot/core/templates/nautobot_config.py.j2 +28 -8
  95. nautobot/core/templates/utilities/templatetags/dynamic_group_assignment_modal.html +37 -0
  96. nautobot/core/templates/utilities/templatetags/filter_form_modal.html +2 -2
  97. nautobot/core/templates/utilities/templatetags/saved_view_modal.html +38 -0
  98. nautobot/core/templates/utilities/theme_preview.html +25 -8
  99. nautobot/core/templates/utilities/worker_status.html +152 -0
  100. nautobot/core/templatetags/buttons.py +335 -38
  101. nautobot/core/templatetags/form_helpers.py +1 -1
  102. nautobot/core/templatetags/helpers.py +181 -11
  103. nautobot/core/testing/api.py +5 -4
  104. nautobot/core/testing/filters.py +63 -14
  105. nautobot/core/testing/mixins.py +46 -0
  106. nautobot/core/testing/models.py +22 -0
  107. nautobot/core/testing/schema.py +4 -8
  108. nautobot/core/testing/views.py +31 -14
  109. nautobot/core/tests/integration/test_general_functionality.py +1 -1
  110. nautobot/core/tests/integration/test_import_objects_ui.py +1 -0
  111. nautobot/core/tests/integration/test_swagger.py +1 -1
  112. nautobot/core/tests/nautobot_config.py +0 -1
  113. nautobot/core/tests/runner.py +2 -2
  114. nautobot/core/tests/test_api.py +1 -0
  115. nautobot/core/tests/test_authentication.py +7 -2
  116. nautobot/core/tests/test_filters.py +11 -9
  117. nautobot/core/tests/test_forms.py +9 -0
  118. nautobot/core/tests/test_graphql.py +27 -16
  119. nautobot/core/tests/test_jobs.py +204 -2
  120. nautobot/core/tests/test_tables.py +3 -1
  121. nautobot/core/tests/test_templatetags_helpers.py +12 -5
  122. nautobot/core/tests/test_templatetags_netutils.py +3 -3
  123. nautobot/core/tests/test_utils.py +31 -20
  124. nautobot/core/tests/test_views.py +6 -6
  125. nautobot/core/urls.py +8 -3
  126. nautobot/core/utils/deprecation.py +29 -0
  127. nautobot/core/utils/filtering.py +12 -9
  128. nautobot/core/utils/lookup.py +37 -2
  129. nautobot/core/utils/requests.py +4 -1
  130. nautobot/core/views/__init__.py +137 -24
  131. nautobot/core/views/generic.py +119 -67
  132. nautobot/core/views/mixins.py +105 -36
  133. nautobot/core/views/paginator.py +9 -3
  134. nautobot/core/views/renderers.py +121 -56
  135. nautobot/core/views/utils.py +81 -1
  136. nautobot/dcim/__init__.py +0 -1
  137. nautobot/dcim/api/serializers.py +180 -44
  138. nautobot/dcim/api/urls.py +7 -3
  139. nautobot/dcim/api/views.py +53 -7
  140. nautobot/dcim/apps.py +3 -0
  141. nautobot/dcim/choices.py +25 -0
  142. nautobot/dcim/constants.py +7 -0
  143. nautobot/dcim/factory.py +252 -18
  144. nautobot/dcim/filters/__init__.py +373 -193
  145. nautobot/dcim/filters/mixins.py +274 -1
  146. nautobot/dcim/forms.py +834 -121
  147. nautobot/dcim/graphql/types.py +2 -2
  148. nautobot/dcim/homepage.py +1 -1
  149. nautobot/dcim/migrations/0059_add_role_field_to_interface_models.py +27 -0
  150. nautobot/dcim/migrations/0060_alter_cable_status_alter_consoleport__path_and_more.py +303 -0
  151. nautobot/dcim/migrations/0061_module_models.py +862 -0
  152. nautobot/dcim/migrations/0062_module_data_migration.py +25 -0
  153. nautobot/dcim/models/__init__.py +8 -0
  154. nautobot/dcim/models/cables.py +15 -0
  155. nautobot/dcim/models/device_component_templates.py +207 -53
  156. nautobot/dcim/models/device_components.py +282 -99
  157. nautobot/dcim/models/devices.py +472 -13
  158. nautobot/dcim/models/racks.py +0 -1
  159. nautobot/dcim/navigation.py +47 -0
  160. nautobot/dcim/signals.py +3 -3
  161. nautobot/dcim/tables/__init__.py +35 -23
  162. nautobot/dcim/tables/devices.py +248 -47
  163. nautobot/dcim/tables/devicetypes.py +65 -9
  164. nautobot/dcim/tables/racks.py +5 -1
  165. nautobot/dcim/tables/template_code.py +46 -26
  166. nautobot/dcim/templates/dcim/cable_connect.html +76 -3
  167. nautobot/dcim/templates/dcim/console_port_connection_list.html +7 -5
  168. nautobot/dcim/templates/dcim/device/base.html +14 -6
  169. nautobot/dcim/templates/dcim/device/consoleports.html +2 -3
  170. nautobot/dcim/templates/dcim/device/consoleserverports.html +2 -3
  171. nautobot/dcim/templates/dcim/device/devicebays.html +6 -7
  172. nautobot/dcim/templates/dcim/device/frontports.html +2 -3
  173. nautobot/dcim/templates/dcim/device/interfaces.html +2 -3
  174. nautobot/dcim/templates/dcim/device/inventory.html +2 -3
  175. nautobot/dcim/templates/dcim/device/modulebays.html +49 -0
  176. nautobot/dcim/templates/dcim/device/poweroutlets.html +2 -3
  177. nautobot/dcim/templates/dcim/device/powerports.html +2 -3
  178. nautobot/dcim/templates/dcim/device/rearports.html +2 -3
  179. nautobot/dcim/templates/dcim/device.html +45 -1
  180. nautobot/dcim/templates/dcim/device_component.html +13 -5
  181. nautobot/dcim/templates/dcim/device_list.html +2 -1
  182. nautobot/dcim/templates/dcim/deviceredundancygroup_retrieve.html +6 -0
  183. nautobot/dcim/templates/dcim/devicetype.html +99 -98
  184. nautobot/dcim/templates/dcim/devicetype_list.html +8 -16
  185. nautobot/dcim/templates/dcim/inc/devicetype_component_table.html +1 -1
  186. nautobot/dcim/templates/dcim/inc/moduletype_component_table.html +39 -0
  187. nautobot/dcim/templates/dcim/interface.html +17 -2
  188. nautobot/dcim/templates/dcim/interface_connection_list.html +7 -5
  189. nautobot/dcim/templates/dcim/interface_edit.html +1 -0
  190. nautobot/dcim/templates/dcim/manufacturer.html +24 -0
  191. nautobot/dcim/templates/dcim/module/base.html +97 -0
  192. nautobot/dcim/templates/dcim/module_bulk_destroy.html +5 -0
  193. nautobot/dcim/templates/dcim/module_consoleports.html +53 -0
  194. nautobot/dcim/templates/dcim/module_consoleserverports.html +53 -0
  195. nautobot/dcim/templates/dcim/module_destroy.html +5 -0
  196. nautobot/dcim/templates/dcim/module_frontports.html +53 -0
  197. nautobot/dcim/templates/dcim/module_interfaces.html +57 -0
  198. nautobot/dcim/templates/dcim/module_list.html +20 -0
  199. nautobot/dcim/templates/dcim/module_modulebays.html +49 -0
  200. nautobot/dcim/templates/dcim/module_poweroutlets.html +53 -0
  201. nautobot/dcim/templates/dcim/module_powerports.html +53 -0
  202. nautobot/dcim/templates/dcim/module_rearports.html +53 -0
  203. nautobot/dcim/templates/dcim/module_retrieve.html +63 -0
  204. nautobot/dcim/templates/dcim/module_update.html +71 -0
  205. nautobot/dcim/templates/dcim/modulebay_bulk_destroy.html +5 -0
  206. nautobot/dcim/templates/dcim/modulebay_destroy.html +8 -0
  207. nautobot/dcim/templates/dcim/modulebay_retrieve.html +101 -0
  208. nautobot/dcim/templates/dcim/moduletype_list.html +11 -0
  209. nautobot/dcim/templates/dcim/moduletype_retrieve.html +159 -0
  210. nautobot/dcim/templates/dcim/power_port_connection_list.html +7 -5
  211. nautobot/dcim/templates/dcim/softwareimagefile_retrieve.html +65 -19
  212. nautobot/dcim/tests/integration/test_cable_connect_form.py +4 -4
  213. nautobot/dcim/tests/test_api.py +693 -208
  214. nautobot/dcim/tests/test_filters.py +843 -217
  215. nautobot/dcim/tests/test_models.py +1103 -8
  216. nautobot/dcim/tests/test_views.py +1525 -343
  217. nautobot/dcim/urls.py +17 -2
  218. nautobot/dcim/utils.py +2 -3
  219. nautobot/dcim/views.py +1109 -113
  220. nautobot/extras/__init__.py +0 -1
  221. nautobot/extras/api/serializers.py +115 -3
  222. nautobot/extras/api/urls.py +12 -0
  223. nautobot/extras/api/views.py +73 -59
  224. nautobot/extras/apps.py +2 -2
  225. nautobot/extras/choices.py +43 -0
  226. nautobot/extras/context_managers.py +13 -8
  227. nautobot/extras/datasources/git.py +2 -0
  228. nautobot/extras/factory.py +460 -9
  229. nautobot/extras/filters/__init__.py +174 -3
  230. nautobot/extras/filters/mixins.py +46 -43
  231. nautobot/extras/forms/base.py +24 -5
  232. nautobot/extras/forms/forms.py +227 -8
  233. nautobot/extras/forms/mixins.py +93 -0
  234. nautobot/extras/graphql/types.py +23 -10
  235. nautobot/extras/homepage.py +26 -3
  236. nautobot/extras/jobs.py +2 -2
  237. nautobot/extras/management/__init__.py +1 -0
  238. nautobot/extras/management/commands/refresh_dynamic_group_member_caches.py +1 -16
  239. nautobot/extras/migrations/0021_customfield_changelog_data.py +1 -0
  240. nautobot/extras/migrations/0109_dynamicgroup_group_type_dynamicgroup_tags_and_more.py +108 -0
  241. nautobot/extras/migrations/0110_alter_configcontext_cluster_groups_and_more.py +111 -0
  242. nautobot/extras/migrations/0111_metadata.py +162 -0
  243. nautobot/extras/migrations/0112_dynamic_group_group_type_data_migration.py +28 -0
  244. nautobot/extras/migrations/0113_saved_views.py +77 -0
  245. nautobot/extras/models/__init__.py +15 -1
  246. nautobot/extras/models/change_logging.py +3 -3
  247. nautobot/extras/models/contacts.py +4 -0
  248. nautobot/extras/models/customfields.py +18 -3
  249. nautobot/extras/models/groups.py +389 -225
  250. nautobot/extras/models/jobs.py +87 -3
  251. nautobot/extras/models/metadata.py +441 -0
  252. nautobot/extras/models/mixins.py +72 -62
  253. nautobot/extras/models/models.py +118 -9
  254. nautobot/extras/models/relationships.py +9 -2
  255. nautobot/extras/models/tags.py +13 -2
  256. nautobot/extras/navigation.py +57 -0
  257. nautobot/extras/plugins/__init__.py +3 -1
  258. nautobot/extras/querysets.py +30 -66
  259. nautobot/extras/signals.py +109 -101
  260. nautobot/extras/tables.py +201 -17
  261. nautobot/extras/templates/extras/dynamicgroup.html +44 -15
  262. nautobot/extras/templates/extras/dynamicgroup_edit.html +2 -0
  263. nautobot/extras/templates/extras/job.html +1 -1
  264. nautobot/extras/templates/extras/job_detail.html +11 -0
  265. nautobot/extras/templates/extras/jobresult.html +61 -74
  266. nautobot/extras/templates/extras/metadatatype_create.html +89 -0
  267. nautobot/extras/templates/extras/metadatatype_retrieve.html +67 -0
  268. nautobot/extras/templates/extras/object_dynamicgroups.html +7 -0
  269. nautobot/extras/templates/extras/objectchange_list.html +0 -12
  270. nautobot/extras/templates/extras/plugins_list.html +1 -3
  271. nautobot/extras/templates/extras/role_retrieve.html +48 -0
  272. nautobot/extras/templates/extras/staticgroupassociation_retrieve.html +20 -0
  273. nautobot/extras/tests/integration/test_customfields.py +1 -0
  274. nautobot/extras/tests/test_api.py +509 -23
  275. nautobot/extras/tests/test_changelog.py +20 -9
  276. nautobot/extras/tests/test_context_managers.py +22 -15
  277. nautobot/extras/tests/test_datasources.py +13 -1
  278. nautobot/extras/tests/test_dynamicgroups.py +201 -171
  279. nautobot/extras/tests/test_filters.py +211 -12
  280. nautobot/extras/tests/test_jobs.py +6 -6
  281. nautobot/extras/tests/test_models.py +501 -4
  282. nautobot/extras/tests/test_relationships.py +1 -0
  283. nautobot/extras/tests/test_views.py +586 -8
  284. nautobot/extras/tests/test_webhooks.py +1 -1
  285. nautobot/extras/urls.py +5 -0
  286. nautobot/extras/utils.py +85 -16
  287. nautobot/extras/views.py +562 -122
  288. nautobot/ipam/__init__.py +0 -1
  289. nautobot/ipam/apps.py +1 -0
  290. nautobot/ipam/factory.py +17 -19
  291. nautobot/ipam/filters.py +13 -0
  292. nautobot/ipam/forms.py +8 -4
  293. nautobot/ipam/graphql/types.py +2 -2
  294. nautobot/ipam/migrations/0047_alter_ipaddress_role_alter_ipaddress_status_and_more.py +59 -0
  295. nautobot/ipam/models.py +20 -20
  296. nautobot/ipam/querysets.py +1 -1
  297. nautobot/ipam/signals.py +4 -2
  298. nautobot/ipam/tables.py +5 -0
  299. nautobot/ipam/templates/ipam/ipaddress_interfaces.html +1 -1
  300. nautobot/ipam/templates/ipam/ipaddress_vm_interfaces.html +1 -1
  301. nautobot/ipam/templates/ipam/prefix.html +1 -0
  302. nautobot/ipam/tests/test_api.py +37 -18
  303. nautobot/ipam/tests/test_filters.py +26 -2
  304. nautobot/ipam/tests/test_models.py +9 -2
  305. nautobot/ipam/tests/test_querysets.py +1 -1
  306. nautobot/ipam/tests/test_views.py +3 -2
  307. nautobot/ipam/urls.py +2 -2
  308. nautobot/ipam/views.py +20 -34
  309. nautobot/project-static/css/base.css +21 -0
  310. nautobot/project-static/css/dark.css +11 -0
  311. nautobot/project-static/docs/404.html +894 -90
  312. nautobot/project-static/docs/apps/index.html +894 -90
  313. nautobot/project-static/docs/apps/nautobot-apps.html +894 -90
  314. nautobot/project-static/docs/assets/_mkdocstrings.css +5 -0
  315. nautobot/project-static/docs/assets/stylesheets/main.3cba04c6.min.css +1 -0
  316. nautobot/project-static/docs/assets/stylesheets/main.3cba04c6.min.css.map +1 -0
  317. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +921 -122
  318. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +906 -103
  319. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +1620 -905
  320. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +937 -146
  321. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +979 -190
  322. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +903 -101
  323. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +899 -95
  324. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +993 -195
  325. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +976 -133
  326. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +1080 -274
  327. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +1244 -336
  328. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +1729 -877
  329. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +1166 -383
  330. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +2090 -1376
  331. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +2248 -1424
  332. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +914 -113
  333. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +965 -165
  334. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +1012 -225
  335. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +1915 -1279
  336. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +1848 -1104
  337. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +906 -103
  338. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +2335 -1701
  339. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +1804 -1026
  340. nautobot/project-static/docs/development/apps/api/configuration-view.html +894 -90
  341. nautobot/project-static/docs/development/apps/api/database-backend-config.html +894 -90
  342. nautobot/project-static/docs/development/apps/api/models/django-admin.html +894 -90
  343. nautobot/project-static/docs/development/apps/api/models/global-search.html +894 -90
  344. nautobot/project-static/docs/development/apps/api/models/graphql.html +894 -90
  345. nautobot/project-static/docs/development/apps/api/models/index.html +944 -92
  346. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +894 -90
  347. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +894 -90
  348. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +894 -90
  349. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +894 -90
  350. nautobot/project-static/docs/development/apps/api/platform-features/index.html +894 -90
  351. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +894 -90
  352. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +894 -90
  353. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +894 -90
  354. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +894 -90
  355. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +894 -90
  356. nautobot/project-static/docs/development/apps/api/prometheus.html +894 -90
  357. nautobot/project-static/docs/development/apps/api/setup.html +894 -90
  358. nautobot/project-static/docs/development/apps/api/testing.html +894 -90
  359. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +894 -90
  360. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +894 -90
  361. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +894 -90
  362. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +894 -90
  363. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +894 -90
  364. nautobot/project-static/docs/development/apps/api/views/base-template.html +894 -90
  365. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +894 -90
  366. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +894 -90
  367. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +894 -90
  368. nautobot/project-static/docs/development/apps/api/views/index.html +894 -90
  369. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +894 -90
  370. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +894 -90
  371. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +894 -90
  372. nautobot/project-static/docs/development/apps/api/views/notes.html +894 -90
  373. nautobot/project-static/docs/development/apps/api/views/rest-api.html +894 -90
  374. nautobot/project-static/docs/development/apps/api/views/urls.html +894 -90
  375. nautobot/project-static/docs/development/apps/index.html +894 -90
  376. nautobot/project-static/docs/development/apps/migration/code-updates.html +894 -90
  377. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +894 -90
  378. nautobot/project-static/docs/development/apps/migration/from-v1.html +894 -90
  379. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +894 -90
  380. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +894 -90
  381. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +894 -90
  382. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +894 -90
  383. nautobot/project-static/docs/development/apps/porting-from-netbox.html +894 -90
  384. nautobot/project-static/docs/development/core/application-registry.html +894 -90
  385. nautobot/project-static/docs/development/core/best-practices.html +895 -90
  386. nautobot/project-static/docs/development/core/bootstrap-ui.html +894 -90
  387. nautobot/project-static/docs/development/core/caching.html +894 -90
  388. nautobot/project-static/docs/development/core/controllers.html +894 -90
  389. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +894 -90
  390. nautobot/project-static/docs/development/core/generic-views.html +894 -90
  391. nautobot/project-static/docs/development/core/getting-started.html +894 -90
  392. nautobot/project-static/docs/development/core/homepage.html +894 -90
  393. nautobot/project-static/docs/development/core/index.html +905 -90
  394. nautobot/project-static/docs/development/core/model-checklist.html +903 -91
  395. nautobot/project-static/docs/development/core/model-features.html +894 -90
  396. nautobot/project-static/docs/development/core/natural-keys.html +894 -90
  397. nautobot/project-static/docs/development/core/navigation-menu.html +894 -90
  398. nautobot/project-static/docs/development/core/release-checklist.html +897 -93
  399. nautobot/project-static/docs/development/core/role-internals.html +894 -90
  400. nautobot/project-static/docs/development/core/settings.html +894 -90
  401. nautobot/project-static/docs/development/core/style-guide.html +895 -91
  402. nautobot/project-static/docs/development/core/templates.html +906 -91
  403. nautobot/project-static/docs/development/core/testing.html +894 -90
  404. nautobot/project-static/docs/development/core/user-preferences.html +894 -90
  405. nautobot/project-static/docs/development/index.html +894 -90
  406. nautobot/project-static/docs/development/jobs/index.html +1271 -453
  407. nautobot/project-static/docs/development/jobs/migration/from-v1.html +894 -90
  408. nautobot/project-static/docs/index.html +9032 -13
  409. nautobot/project-static/docs/media/models/cloud_aws_direct_connect_dark.png +0 -0
  410. nautobot/project-static/docs/media/models/cloud_aws_direct_connect_light.png +0 -0
  411. nautobot/project-static/docs/models/cloud/cloudaccount.html +15 -0
  412. nautobot/project-static/docs/models/cloud/cloudnetwork.html +15 -0
  413. nautobot/project-static/docs/models/cloud/cloudnetworkprefixassignment.html +15 -0
  414. nautobot/project-static/docs/models/cloud/cloudresourcetype.html +15 -0
  415. nautobot/project-static/docs/models/cloud/cloudservice.html +15 -0
  416. nautobot/project-static/docs/models/cloud/cloudservicenetworkassignment.html +15 -0
  417. nautobot/project-static/docs/models/dcim/module.html +15 -0
  418. nautobot/project-static/docs/models/dcim/modulebay.html +15 -0
  419. nautobot/project-static/docs/models/dcim/modulebaytemplate.html +15 -0
  420. nautobot/project-static/docs/models/dcim/moduletype.html +15 -0
  421. nautobot/project-static/docs/models/extras/metadatachoice.html +15 -0
  422. nautobot/project-static/docs/models/extras/metadatatype.html +15 -0
  423. nautobot/project-static/docs/models/extras/objectmetadata.html +15 -0
  424. nautobot/project-static/docs/models/extras/role.html +15 -0
  425. nautobot/project-static/docs/models/extras/savedview.html +15 -0
  426. nautobot/project-static/docs/models/extras/staticgroupassociation.html +15 -0
  427. nautobot/project-static/docs/models/extras/status.html +15 -0
  428. nautobot/project-static/docs/objects.inv +0 -0
  429. nautobot/project-static/docs/overview/application_stack.html +902 -91
  430. nautobot/project-static/docs/overview/design_philosophy.html +896 -92
  431. nautobot/project-static/docs/overview/index.html +13 -8228
  432. nautobot/project-static/docs/release-notes/index.html +1131 -94
  433. nautobot/project-static/docs/release-notes/version-1.0.html +894 -90
  434. nautobot/project-static/docs/release-notes/version-1.1.html +894 -90
  435. nautobot/project-static/docs/release-notes/version-1.2.html +894 -90
  436. nautobot/project-static/docs/release-notes/version-1.3.html +894 -90
  437. nautobot/project-static/docs/release-notes/version-1.4.html +894 -90
  438. nautobot/project-static/docs/release-notes/version-1.5.html +895 -91
  439. nautobot/project-static/docs/release-notes/version-1.6.html +895 -91
  440. nautobot/project-static/docs/release-notes/version-2.0.html +894 -90
  441. nautobot/project-static/docs/release-notes/version-2.1.html +894 -90
  442. nautobot/project-static/docs/release-notes/version-2.2.html +1137 -196
  443. nautobot/project-static/docs/release-notes/version-2.3.html +9954 -0
  444. nautobot/project-static/docs/requirements.txt +5 -5
  445. nautobot/project-static/docs/search/search_index.json +1 -1
  446. nautobot/project-static/docs/sitemap.xml +335 -260
  447. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  448. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +894 -90
  449. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +894 -90
  450. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +894 -90
  451. nautobot/project-static/docs/user-guide/administration/configuration/index.html +894 -90
  452. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +1025 -175
  453. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +894 -90
  454. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +894 -90
  455. nautobot/project-static/docs/user-guide/administration/guides/caching.html +894 -90
  456. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +902 -90
  457. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +894 -90
  458. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +894 -90
  459. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +894 -90
  460. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +894 -90
  461. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +894 -90
  462. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +894 -90
  463. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +894 -90
  464. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +894 -90
  465. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +946 -155
  466. nautobot/project-static/docs/user-guide/administration/installation/index.html +903 -95
  467. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +936 -124
  468. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +956 -159
  469. nautobot/project-static/docs/user-guide/administration/installation/services.html +915 -114
  470. nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +910 -101
  471. nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +894 -90
  472. nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +894 -90
  473. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +894 -90
  474. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +894 -90
  475. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +977 -121
  476. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +894 -90
  477. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +894 -90
  478. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +894 -90
  479. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +894 -90
  480. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +894 -90
  481. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +894 -90
  482. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +894 -90
  483. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +894 -90
  484. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +894 -90
  485. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +894 -90
  486. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +894 -90
  487. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +895 -91
  488. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +894 -90
  489. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +898 -90
  490. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +897 -93
  491. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +8984 -0
  492. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +8828 -0
  493. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +8829 -0
  494. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +8828 -0
  495. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +8829 -0
  496. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +8833 -0
  497. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +8828 -0
  498. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +908 -104
  499. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +925 -107
  500. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +925 -107
  501. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +920 -102
  502. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +925 -107
  503. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +908 -104
  504. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +908 -104
  505. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +915 -107
  506. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +922 -118
  507. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +923 -119
  508. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +920 -116
  509. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +908 -104
  510. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +916 -107
  511. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +928 -110
  512. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +938 -120
  513. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +930 -108
  514. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +908 -104
  515. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +939 -121
  516. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +930 -112
  517. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +920 -116
  518. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +923 -119
  519. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +925 -117
  520. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +8828 -0
  521. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +8846 -0
  522. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +8843 -0
  523. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +8823 -0
  524. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +918 -114
  525. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +908 -104
  526. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +942 -85
  527. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +926 -108
  528. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +908 -104
  529. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +945 -88
  530. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +923 -105
  531. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +931 -127
  532. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +920 -116
  533. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +908 -104
  534. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +924 -106
  535. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +926 -108
  536. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +908 -104
  537. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +908 -104
  538. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +908 -104
  539. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +938 -90
  540. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +894 -90
  541. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +899 -91
  542. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +899 -91
  543. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +894 -90
  544. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +894 -90
  545. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +894 -90
  546. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +894 -90
  547. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +894 -90
  548. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +894 -90
  549. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +894 -90
  550. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +894 -90
  551. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +894 -90
  552. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +894 -90
  553. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +903 -98
  554. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +894 -90
  555. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +894 -90
  556. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +894 -90
  557. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +894 -90
  558. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +894 -90
  559. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +899 -91
  560. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +894 -90
  561. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +894 -90
  562. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +894 -90
  563. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +894 -90
  564. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +894 -90
  565. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +894 -90
  566. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +894 -90
  567. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +894 -90
  568. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +894 -90
  569. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +894 -90
  570. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +894 -90
  571. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +894 -90
  572. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +894 -90
  573. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/clear-view-button.png +0 -0
  574. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/cleared-view.png +0 -0
  575. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/config-table-columns-to-locations.png +0 -0
  576. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/configure-button.png +0 -0
  577. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/create-saved-view-success.png +0 -0
  578. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/current-saved-view-drop-down-menu.png +0 -0
  579. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/default-location-list-view.png +0 -0
  580. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/dropdown-button-after-new-saved-view.png +0 -0
  581. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/filter-application-to-locations.png +0 -0
  582. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/filter-button.png +0 -0
  583. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/global-default-location-list-view.png +0 -0
  584. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/location-list-view-with-saved-views.png +0 -0
  585. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/navigation-menu.png +0 -0
  586. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/save-as-new-view-drop-down.png +0 -0
  587. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/save-view-modal.png +0 -0
  588. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-buttons.png +0 -0
  589. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-success.png +0 -0
  590. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-view-unchecked.png +0 -0
  591. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-view.png +0 -0
  592. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-different-user.png +0 -0
  593. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-modal-unchecked.png +0 -0
  594. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/set-as-my-default-button.png +0 -0
  595. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/set-as-my-default-success.png +0 -0
  596. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/unsaved-saved-view.png +0 -0
  597. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/updated-saved-view.png +0 -0
  598. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +894 -90
  599. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +894 -90
  600. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +894 -90
  601. nautobot/project-static/docs/user-guide/index.html +894 -90
  602. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +894 -90
  603. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +894 -90
  604. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +894 -90
  605. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +894 -90
  606. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +1260 -787
  607. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +897 -93
  608. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +894 -90
  609. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +894 -90
  610. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +894 -90
  611. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +894 -90
  612. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +894 -90
  613. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +894 -90
  614. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +894 -90
  615. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +894 -90
  616. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +894 -90
  617. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +898 -90
  618. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +894 -90
  619. nautobot/project-static/docs/user-guide/platform-functionality/note.html +897 -93
  620. nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +9061 -0
  621. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +897 -93
  622. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +894 -90
  623. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +894 -90
  624. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +894 -90
  625. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +894 -90
  626. nautobot/project-static/docs/user-guide/platform-functionality/role.html +897 -93
  627. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +9137 -0
  628. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +897 -93
  629. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +8933 -0
  630. nautobot/project-static/docs/user-guide/platform-functionality/status.html +894 -90
  631. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +894 -90
  632. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +952 -123
  633. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +894 -90
  634. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +894 -90
  635. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +894 -90
  636. nautobot/project-static/js/forms.js +71 -0
  637. nautobot/project-static/js/table_sorting_indicator.js +46 -0
  638. nautobot/project-static/js/tableconfig.js +6 -1
  639. nautobot/project-static/materialdesignicons-7.4.47/css/materialdesignicons.min.css +3 -0
  640. nautobot/project-static/{materialdesignicons-6.5.95 → materialdesignicons-7.4.47}/fonts/materialdesignicons-webfont.eot +0 -0
  641. nautobot/project-static/{materialdesignicons-6.5.95 → materialdesignicons-7.4.47}/fonts/materialdesignicons-webfont.ttf +0 -0
  642. nautobot/project-static/materialdesignicons-7.4.47/fonts/materialdesignicons-webfont.woff +0 -0
  643. nautobot/project-static/materialdesignicons-7.4.47/fonts/materialdesignicons-webfont.woff2 +0 -0
  644. nautobot/tenancy/__init__.py +0 -1
  645. nautobot/tenancy/apps.py +1 -0
  646. nautobot/tenancy/factory.py +3 -2
  647. nautobot/tenancy/filters/__init__.py +1 -0
  648. nautobot/tenancy/forms.py +1 -1
  649. nautobot/tenancy/templates/tenancy/tenant.html +24 -20
  650. nautobot/tenancy/views.py +11 -10
  651. nautobot/users/__init__.py +0 -1
  652. nautobot/users/api/serializers.py +1 -1
  653. nautobot/users/api/views.py +4 -2
  654. nautobot/users/apps.py +3 -2
  655. nautobot/users/factory.py +3 -3
  656. nautobot/users/migrations/0010_user_default_saved_views.py +20 -0
  657. nautobot/users/models.py +12 -0
  658. nautobot/users/tests/test_filters.py +6 -3
  659. nautobot/users/urls.py +8 -0
  660. nautobot/virtualization/__init__.py +0 -1
  661. nautobot/virtualization/apps.py +1 -0
  662. nautobot/virtualization/filters.py +6 -1
  663. nautobot/virtualization/forms.py +11 -3
  664. nautobot/virtualization/graphql/types.py +2 -2
  665. nautobot/virtualization/migrations/0029_add_role_field_to_interface_models.py +27 -0
  666. nautobot/virtualization/migrations/0030_alter_virtualmachine_local_config_context_data_owner_content_type_and_more.py +67 -0
  667. nautobot/virtualization/models.py +0 -2
  668. nautobot/virtualization/tables.py +12 -8
  669. nautobot/virtualization/templates/virtualization/virtualmachine.html +1 -1
  670. nautobot/virtualization/templates/virtualization/vminterface.html +7 -1
  671. nautobot/virtualization/templates/virtualization/vminterface_edit.html +1 -0
  672. nautobot/virtualization/tests/test_api.py +9 -4
  673. nautobot/virtualization/tests/test_filters.py +22 -0
  674. nautobot/virtualization/tests/test_models.py +7 -3
  675. nautobot/virtualization/tests/test_views.py +19 -3
  676. nautobot/virtualization/urls.py +2 -2
  677. nautobot/virtualization/views.py +10 -32
  678. {nautobot-2.2.8.dist-info → nautobot-2.3.0.dist-info}/METADATA +21 -19
  679. {nautobot-2.2.8.dist-info → nautobot-2.3.0.dist-info}/RECORD +684 -564
  680. nautobot/project-static/docs/assets/stylesheets/main.76a95c52.min.css +0 -1
  681. nautobot/project-static/docs/assets/stylesheets/main.76a95c52.min.css.map +0 -1
  682. nautobot/project-static/materialdesignicons-6.5.95/.github/ISSUE_TEMPLATE.md +0 -3
  683. nautobot/project-static/materialdesignicons-6.5.95/README.md +0 -25
  684. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css +0 -26654
  685. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css.map +0 -16
  686. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css +0 -3
  687. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css.map +0 -16
  688. nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff +0 -0
  689. nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff2 +0 -0
  690. nautobot/project-static/materialdesignicons-6.5.95/package.json +0 -28
  691. nautobot/project-static/materialdesignicons-6.5.95/preview.html +0 -717
  692. nautobot/project-static/materialdesignicons-6.5.95/scss/_animated.scss +0 -27
  693. nautobot/project-static/materialdesignicons-6.5.95/scss/_core.scss +0 -10
  694. nautobot/project-static/materialdesignicons-6.5.95/scss/_extras.scss +0 -65
  695. nautobot/project-static/materialdesignicons-6.5.95/scss/_functions.scss +0 -20
  696. nautobot/project-static/materialdesignicons-6.5.95/scss/_icons.scss +0 -10
  697. nautobot/project-static/materialdesignicons-6.5.95/scss/_path.scss +0 -10
  698. nautobot/project-static/materialdesignicons-6.5.95/scss/_variables.scss +0 -6606
  699. nautobot/project-static/materialdesignicons-6.5.95/scss/materialdesignicons.scss +0 -8
  700. /nautobot/project-static/{materialdesignicons-6.5.95 → materialdesignicons-7.4.47}/LICENSE +0 -0
  701. {nautobot-2.2.8.dist-info → nautobot-2.3.0.dist-info}/LICENSE.txt +0 -0
  702. {nautobot-2.2.8.dist-info → nautobot-2.3.0.dist-info}/NOTICE +0 -0
  703. {nautobot-2.2.8.dist-info → nautobot-2.3.0.dist-info}/WHEEL +0 -0
  704. {nautobot-2.2.8.dist-info → nautobot-2.3.0.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.0, mkdocs-material-9.5.29">
21
+ <meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.31">
22
22
 
23
23
 
24
24
 
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- <link rel="stylesheet" href="../../../assets/stylesheets/main.76a95c52.min.css">
29
+ <link rel="stylesheet" href="../../../assets/stylesheets/main.3cba04c6.min.css">
30
30
 
31
31
 
32
32
  <link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></svg>');}</style>
41
+ <style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></svg>');}</style>
42
42
 
43
43
 
44
44
 
@@ -217,7 +217,7 @@
217
217
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
218
218
  <div class="md-source__icon md-icon">
219
219
 
220
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
220
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
221
221
  </div>
222
222
  <div class="md-source__repository">
223
223
  GitHub
@@ -238,7 +238,7 @@
238
238
 
239
239
 
240
240
  <li class="md-tabs__item">
241
- <a href="../../../overview/index.html" class="md-tabs__link">
241
+ <a href="../../../index.html" class="md-tabs__link">
242
242
 
243
243
 
244
244
 
@@ -377,7 +377,7 @@
377
377
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
378
378
  <div class="md-source__icon md-icon">
379
379
 
380
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
380
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
381
381
  </div>
382
382
  <div class="md-source__repository">
383
383
  GitHub
@@ -409,7 +409,7 @@
409
409
 
410
410
 
411
411
  <div class="md-nav__link md-nav__container">
412
- <a href="../../../overview/index.html" class="md-nav__link ">
412
+ <a href="../../../index.html" class="md-nav__link ">
413
413
 
414
414
 
415
415
  <span class="md-ellipsis">
@@ -1582,6 +1582,15 @@
1582
1582
  </span>
1583
1583
  </a>
1584
1584
 
1585
+ </li>
1586
+
1587
+ <li class="md-nav__item">
1588
+ <a href="#celery_worker_prefetch_multiplier" class="md-nav__link">
1589
+ <span class="md-ellipsis">
1590
+ CELERY_WORKER_PREFETCH_MULTIPLIER
1591
+ </span>
1592
+ </a>
1593
+
1585
1594
  </li>
1586
1595
 
1587
1596
  <li class="md-nav__item">
@@ -1726,15 +1735,6 @@
1726
1735
  </span>
1727
1736
  </a>
1728
1737
 
1729
- </li>
1730
-
1731
- <li class="md-nav__item">
1732
- <a href="#dynamic_groups_member_cache_timeout" class="md-nav__link">
1733
- <span class="md-ellipsis">
1734
- DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT
1735
- </span>
1736
- </a>
1737
-
1738
1738
  </li>
1739
1739
 
1740
1740
  <li class="md-nav__item">
@@ -1898,6 +1898,15 @@
1898
1898
  </span>
1899
1899
  </a>
1900
1900
 
1901
+ </li>
1902
+
1903
+ <li class="md-nav__item">
1904
+ <a href="#structlog-configuration" class="md-nav__link">
1905
+ <span class="md-ellipsis">
1906
+ Structlog Configuration
1907
+ </span>
1908
+ </a>
1909
+
1901
1910
  </li>
1902
1911
 
1903
1912
  </ul>
@@ -3505,7 +3514,187 @@
3505
3514
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3" >
3506
3515
 
3507
3516
 
3508
- <label class="md-nav__link" for="__nav_2_3_3" id="__nav_2_3_3_label" tabindex="0">
3517
+
3518
+ <div class="md-nav__link md-nav__container">
3519
+ <a href="../../core-data-model/cloud/cloud.html" class="md-nav__link ">
3520
+
3521
+
3522
+ <span class="md-ellipsis">
3523
+ Cloud
3524
+ </span>
3525
+
3526
+
3527
+ </a>
3528
+
3529
+
3530
+ <label class="md-nav__link " for="__nav_2_3_3" id="__nav_2_3_3_label" tabindex="0">
3531
+ <span class="md-nav__icon md-icon"></span>
3532
+ </label>
3533
+
3534
+ </div>
3535
+
3536
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_3_label" aria-expanded="false">
3537
+ <label class="md-nav__title" for="__nav_2_3_3">
3538
+ <span class="md-nav__icon md-icon"></span>
3539
+ Cloud
3540
+ </label>
3541
+ <ul class="md-nav__list" data-md-scrollfix>
3542
+
3543
+
3544
+
3545
+
3546
+
3547
+
3548
+
3549
+ <li class="md-nav__item">
3550
+ <a href="../../core-data-model/cloud/cloudaccount.html" class="md-nav__link">
3551
+
3552
+
3553
+ <span class="md-ellipsis">
3554
+ Cloud Account
3555
+ </span>
3556
+
3557
+
3558
+ </a>
3559
+ </li>
3560
+
3561
+
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+ <li class="md-nav__item">
3571
+ <a href="../../core-data-model/cloud/cloudnetwork.html" class="md-nav__link">
3572
+
3573
+
3574
+ <span class="md-ellipsis">
3575
+ Cloud Network
3576
+ </span>
3577
+
3578
+
3579
+ </a>
3580
+ </li>
3581
+
3582
+
3583
+
3584
+
3585
+
3586
+
3587
+
3588
+
3589
+
3590
+
3591
+ <li class="md-nav__item">
3592
+ <a href="../../core-data-model/cloud/cloudnetworkprefixassignment.html" class="md-nav__link">
3593
+
3594
+
3595
+ <span class="md-ellipsis">
3596
+ Cloud Network Prefix Assignment
3597
+ </span>
3598
+
3599
+
3600
+ </a>
3601
+ </li>
3602
+
3603
+
3604
+
3605
+
3606
+
3607
+
3608
+
3609
+
3610
+
3611
+
3612
+ <li class="md-nav__item">
3613
+ <a href="../../core-data-model/cloud/cloudresourcetype.html" class="md-nav__link">
3614
+
3615
+
3616
+ <span class="md-ellipsis">
3617
+ Cloud Resource Type
3618
+ </span>
3619
+
3620
+
3621
+ </a>
3622
+ </li>
3623
+
3624
+
3625
+
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3632
+
3633
+ <li class="md-nav__item">
3634
+ <a href="../../core-data-model/cloud/cloudservice.html" class="md-nav__link">
3635
+
3636
+
3637
+ <span class="md-ellipsis">
3638
+ Cloud Service
3639
+ </span>
3640
+
3641
+
3642
+ </a>
3643
+ </li>
3644
+
3645
+
3646
+
3647
+
3648
+
3649
+
3650
+
3651
+
3652
+
3653
+
3654
+ <li class="md-nav__item">
3655
+ <a href="../../core-data-model/cloud/cloudservicenetworkassignment.html" class="md-nav__link">
3656
+
3657
+
3658
+ <span class="md-ellipsis">
3659
+ Cloud Service Network Assignment
3660
+ </span>
3661
+
3662
+
3663
+ </a>
3664
+ </li>
3665
+
3666
+
3667
+
3668
+
3669
+ </ul>
3670
+ </nav>
3671
+
3672
+ </li>
3673
+
3674
+
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+
3681
+
3682
+
3683
+
3684
+
3685
+
3686
+
3687
+
3688
+
3689
+
3690
+ <li class="md-nav__item md-nav__item--nested">
3691
+
3692
+
3693
+
3694
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4" >
3695
+
3696
+
3697
+ <label class="md-nav__link" for="__nav_2_3_4" id="__nav_2_3_4_label" tabindex="0">
3509
3698
 
3510
3699
 
3511
3700
  <span class="md-ellipsis">
@@ -3513,15 +3702,514 @@
3513
3702
  </span>
3514
3703
 
3515
3704
 
3516
- <span class="md-nav__icon md-icon"></span>
3517
- </label>
3518
-
3519
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_3_label" aria-expanded="false">
3520
- <label class="md-nav__title" for="__nav_2_3_3">
3521
- <span class="md-nav__icon md-icon"></span>
3522
- DCIM
3523
- </label>
3524
- <ul class="md-nav__list" data-md-scrollfix>
3705
+ <span class="md-nav__icon md-icon"></span>
3706
+ </label>
3707
+
3708
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_4_label" aria-expanded="false">
3709
+ <label class="md-nav__title" for="__nav_2_3_4">
3710
+ <span class="md-nav__icon md-icon"></span>
3711
+ DCIM
3712
+ </label>
3713
+ <ul class="md-nav__list" data-md-scrollfix>
3714
+
3715
+
3716
+
3717
+
3718
+
3719
+
3720
+
3721
+ <li class="md-nav__item">
3722
+ <a href="../../core-data-model/dcim/locationtype.html" class="md-nav__link">
3723
+
3724
+
3725
+ <span class="md-ellipsis">
3726
+ Location Type
3727
+ </span>
3728
+
3729
+
3730
+ </a>
3731
+ </li>
3732
+
3733
+
3734
+
3735
+
3736
+
3737
+
3738
+
3739
+
3740
+
3741
+
3742
+ <li class="md-nav__item">
3743
+ <a href="../../core-data-model/dcim/location.html" class="md-nav__link">
3744
+
3745
+
3746
+ <span class="md-ellipsis">
3747
+ Location
3748
+ </span>
3749
+
3750
+
3751
+ </a>
3752
+ </li>
3753
+
3754
+
3755
+
3756
+
3757
+
3758
+
3759
+
3760
+
3761
+
3762
+
3763
+ <li class="md-nav__item">
3764
+ <a href="../../core-data-model/dcim/rackgroup.html" class="md-nav__link">
3765
+
3766
+
3767
+ <span class="md-ellipsis">
3768
+ Rack Group
3769
+ </span>
3770
+
3771
+
3772
+ </a>
3773
+ </li>
3774
+
3775
+
3776
+
3777
+
3778
+
3779
+
3780
+
3781
+
3782
+
3783
+
3784
+ <li class="md-nav__item">
3785
+ <a href="../../core-data-model/dcim/rack.html" class="md-nav__link">
3786
+
3787
+
3788
+ <span class="md-ellipsis">
3789
+ Rack
3790
+ </span>
3791
+
3792
+
3793
+ </a>
3794
+ </li>
3795
+
3796
+
3797
+
3798
+
3799
+
3800
+
3801
+
3802
+
3803
+
3804
+
3805
+ <li class="md-nav__item">
3806
+ <a href="../../core-data-model/dcim/manufacturer.html" class="md-nav__link">
3807
+
3808
+
3809
+ <span class="md-ellipsis">
3810
+ Manufacturer
3811
+ </span>
3812
+
3813
+
3814
+ </a>
3815
+ </li>
3816
+
3817
+
3818
+
3819
+
3820
+
3821
+
3822
+
3823
+
3824
+
3825
+
3826
+ <li class="md-nav__item">
3827
+ <a href="../../core-data-model/dcim/devicefamily.html" class="md-nav__link">
3828
+
3829
+
3830
+ <span class="md-ellipsis">
3831
+ Device Family
3832
+ </span>
3833
+
3834
+
3835
+ </a>
3836
+ </li>
3837
+
3838
+
3839
+
3840
+
3841
+
3842
+
3843
+
3844
+
3845
+
3846
+
3847
+ <li class="md-nav__item">
3848
+ <a href="../../core-data-model/dcim/platform.html" class="md-nav__link">
3849
+
3850
+
3851
+ <span class="md-ellipsis">
3852
+ Platform
3853
+ </span>
3854
+
3855
+
3856
+ </a>
3857
+ </li>
3858
+
3859
+
3860
+
3861
+
3862
+
3863
+
3864
+
3865
+
3866
+
3867
+
3868
+
3869
+
3870
+
3871
+
3872
+
3873
+
3874
+
3875
+ <li class="md-nav__item md-nav__item--nested">
3876
+
3877
+
3878
+
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_8" >
3880
+
3881
+
3882
+
3883
+ <div class="md-nav__link md-nav__container">
3884
+ <a href="../../core-data-model/dcim/devicetype.html" class="md-nav__link ">
3885
+
3886
+
3887
+ <span class="md-ellipsis">
3888
+ Device Type
3889
+ </span>
3890
+
3891
+
3892
+ </a>
3893
+
3894
+
3895
+ <label class="md-nav__link " for="__nav_2_3_4_8" id="__nav_2_3_4_8_label" tabindex="0">
3896
+ <span class="md-nav__icon md-icon"></span>
3897
+ </label>
3898
+
3899
+ </div>
3900
+
3901
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_8_label" aria-expanded="false">
3902
+ <label class="md-nav__title" for="__nav_2_3_4_8">
3903
+ <span class="md-nav__icon md-icon"></span>
3904
+ Device Type
3905
+ </label>
3906
+ <ul class="md-nav__list" data-md-scrollfix>
3907
+
3908
+
3909
+
3910
+
3911
+
3912
+
3913
+
3914
+ <li class="md-nav__item">
3915
+ <a href="../../core-data-model/dcim/consoleporttemplate.html" class="md-nav__link">
3916
+
3917
+
3918
+ <span class="md-ellipsis">
3919
+ Console Port Template
3920
+ </span>
3921
+
3922
+
3923
+ </a>
3924
+ </li>
3925
+
3926
+
3927
+
3928
+
3929
+
3930
+
3931
+
3932
+
3933
+
3934
+
3935
+ <li class="md-nav__item">
3936
+ <a href="../../core-data-model/dcim/consoleserverporttemplate.html" class="md-nav__link">
3937
+
3938
+
3939
+ <span class="md-ellipsis">
3940
+ Console Server Port Template
3941
+ </span>
3942
+
3943
+
3944
+ </a>
3945
+ </li>
3946
+
3947
+
3948
+
3949
+
3950
+
3951
+
3952
+
3953
+
3954
+
3955
+
3956
+ <li class="md-nav__item">
3957
+ <a href="../../core-data-model/dcim/devicebaytemplate.html" class="md-nav__link">
3958
+
3959
+
3960
+ <span class="md-ellipsis">
3961
+ Device Bay Template
3962
+ </span>
3963
+
3964
+
3965
+ </a>
3966
+ </li>
3967
+
3968
+
3969
+
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+ <li class="md-nav__item">
3978
+ <a href="../../core-data-model/dcim/frontporttemplate.html" class="md-nav__link">
3979
+
3980
+
3981
+ <span class="md-ellipsis">
3982
+ Front Port Template
3983
+ </span>
3984
+
3985
+
3986
+ </a>
3987
+ </li>
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+ <li class="md-nav__item">
3999
+ <a href="../../core-data-model/dcim/interfacetemplate.html" class="md-nav__link">
4000
+
4001
+
4002
+ <span class="md-ellipsis">
4003
+ Interface Template
4004
+ </span>
4005
+
4006
+
4007
+ </a>
4008
+ </li>
4009
+
4010
+
4011
+
4012
+
4013
+
4014
+
4015
+
4016
+
4017
+
4018
+
4019
+ <li class="md-nav__item">
4020
+ <a href="../../core-data-model/dcim/modulebaytemplate.html" class="md-nav__link">
4021
+
4022
+
4023
+ <span class="md-ellipsis">
4024
+ Module Bay Template
4025
+ </span>
4026
+
4027
+
4028
+ </a>
4029
+ </li>
4030
+
4031
+
4032
+
4033
+
4034
+
4035
+
4036
+
4037
+
4038
+
4039
+
4040
+ <li class="md-nav__item">
4041
+ <a href="../../core-data-model/dcim/poweroutlettemplate.html" class="md-nav__link">
4042
+
4043
+
4044
+ <span class="md-ellipsis">
4045
+ Power Outlet Template
4046
+ </span>
4047
+
4048
+
4049
+ </a>
4050
+ </li>
4051
+
4052
+
4053
+
4054
+
4055
+
4056
+
4057
+
4058
+
4059
+
4060
+
4061
+ <li class="md-nav__item">
4062
+ <a href="../../core-data-model/dcim/powerporttemplate.html" class="md-nav__link">
4063
+
4064
+
4065
+ <span class="md-ellipsis">
4066
+ Power Port Template
4067
+ </span>
4068
+
4069
+
4070
+ </a>
4071
+ </li>
4072
+
4073
+
4074
+
4075
+
4076
+
4077
+
4078
+
4079
+
4080
+
4081
+
4082
+ <li class="md-nav__item">
4083
+ <a href="../../core-data-model/dcim/rearporttemplate.html" class="md-nav__link">
4084
+
4085
+
4086
+ <span class="md-ellipsis">
4087
+ Rear Port Template
4088
+ </span>
4089
+
4090
+
4091
+ </a>
4092
+ </li>
4093
+
4094
+
4095
+
4096
+
4097
+ </ul>
4098
+ </nav>
4099
+
4100
+ </li>
4101
+
4102
+
4103
+
4104
+
4105
+
4106
+
4107
+
4108
+
4109
+
4110
+
4111
+
4112
+
4113
+
4114
+
4115
+
4116
+
4117
+
4118
+ <li class="md-nav__item md-nav__item--nested">
4119
+
4120
+
4121
+
4122
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_9" >
4123
+
4124
+
4125
+
4126
+ <div class="md-nav__link md-nav__container">
4127
+ <a href="../../core-data-model/dcim/device.html" class="md-nav__link ">
4128
+
4129
+
4130
+ <span class="md-ellipsis">
4131
+ Device
4132
+ </span>
4133
+
4134
+
4135
+ </a>
4136
+
4137
+
4138
+ <label class="md-nav__link " for="__nav_2_3_4_9" id="__nav_2_3_4_9_label" tabindex="0">
4139
+ <span class="md-nav__icon md-icon"></span>
4140
+ </label>
4141
+
4142
+ </div>
4143
+
4144
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_9_label" aria-expanded="false">
4145
+ <label class="md-nav__title" for="__nav_2_3_4_9">
4146
+ <span class="md-nav__icon md-icon"></span>
4147
+ Device
4148
+ </label>
4149
+ <ul class="md-nav__list" data-md-scrollfix>
4150
+
4151
+
4152
+
4153
+
4154
+
4155
+
4156
+
4157
+ <li class="md-nav__item">
4158
+ <a href="../../core-data-model/dcim/consoleport.html" class="md-nav__link">
4159
+
4160
+
4161
+ <span class="md-ellipsis">
4162
+ Console Port
4163
+ </span>
4164
+
4165
+
4166
+ </a>
4167
+ </li>
4168
+
4169
+
4170
+
4171
+
4172
+
4173
+
4174
+
4175
+
4176
+
4177
+
4178
+ <li class="md-nav__item">
4179
+ <a href="../../core-data-model/dcim/consoleserverport.html" class="md-nav__link">
4180
+
4181
+
4182
+ <span class="md-ellipsis">
4183
+ Console Server Port
4184
+ </span>
4185
+
4186
+
4187
+ </a>
4188
+ </li>
4189
+
4190
+
4191
+
4192
+
4193
+
4194
+
4195
+
4196
+
4197
+
4198
+
4199
+ <li class="md-nav__item">
4200
+ <a href="../../core-data-model/dcim/devicebay.html" class="md-nav__link">
4201
+
4202
+
4203
+ <span class="md-ellipsis">
4204
+ Device Bay
4205
+ </span>
4206
+
4207
+
4208
+ </a>
4209
+ </li>
4210
+
4211
+
4212
+
3525
4213
 
3526
4214
 
3527
4215
 
@@ -3530,11 +4218,11 @@
3530
4218
 
3531
4219
 
3532
4220
  <li class="md-nav__item">
3533
- <a href="../../core-data-model/dcim/locationtype.html" class="md-nav__link">
4221
+ <a href="../../core-data-model/dcim/frontport.html" class="md-nav__link">
3534
4222
 
3535
4223
 
3536
4224
  <span class="md-ellipsis">
3537
- Location Type
4225
+ Front Port
3538
4226
  </span>
3539
4227
 
3540
4228
 
@@ -3551,11 +4239,11 @@
3551
4239
 
3552
4240
 
3553
4241
  <li class="md-nav__item">
3554
- <a href="../../core-data-model/dcim/location.html" class="md-nav__link">
4242
+ <a href="../../core-data-model/dcim/interface.html" class="md-nav__link">
3555
4243
 
3556
4244
 
3557
4245
  <span class="md-ellipsis">
3558
- Location
4246
+ Interface
3559
4247
  </span>
3560
4248
 
3561
4249
 
@@ -3572,11 +4260,11 @@
3572
4260
 
3573
4261
 
3574
4262
  <li class="md-nav__item">
3575
- <a href="../../core-data-model/dcim/rackgroup.html" class="md-nav__link">
4263
+ <a href="../../core-data-model/dcim/inventoryitem.html" class="md-nav__link">
3576
4264
 
3577
4265
 
3578
4266
  <span class="md-ellipsis">
3579
- Rack Group
4267
+ Inventory Item
3580
4268
  </span>
3581
4269
 
3582
4270
 
@@ -3593,11 +4281,11 @@
3593
4281
 
3594
4282
 
3595
4283
  <li class="md-nav__item">
3596
- <a href="../../core-data-model/dcim/rack.html" class="md-nav__link">
4284
+ <a href="../../core-data-model/dcim/modulebay.html" class="md-nav__link">
3597
4285
 
3598
4286
 
3599
4287
  <span class="md-ellipsis">
3600
- Rack
4288
+ Module Bay
3601
4289
  </span>
3602
4290
 
3603
4291
 
@@ -3614,11 +4302,11 @@
3614
4302
 
3615
4303
 
3616
4304
  <li class="md-nav__item">
3617
- <a href="../../core-data-model/dcim/manufacturer.html" class="md-nav__link">
4305
+ <a href="../../core-data-model/dcim/powerport.html" class="md-nav__link">
3618
4306
 
3619
4307
 
3620
4308
  <span class="md-ellipsis">
3621
- Manufacturer
4309
+ Power Port
3622
4310
  </span>
3623
4311
 
3624
4312
 
@@ -3635,11 +4323,11 @@
3635
4323
 
3636
4324
 
3637
4325
  <li class="md-nav__item">
3638
- <a href="../../core-data-model/dcim/devicefamily.html" class="md-nav__link">
4326
+ <a href="../../core-data-model/dcim/poweroutlet.html" class="md-nav__link">
3639
4327
 
3640
4328
 
3641
4329
  <span class="md-ellipsis">
3642
- Device Family
4330
+ Power Outlet
3643
4331
  </span>
3644
4332
 
3645
4333
 
@@ -3656,11 +4344,11 @@
3656
4344
 
3657
4345
 
3658
4346
  <li class="md-nav__item">
3659
- <a href="../../core-data-model/dcim/platform.html" class="md-nav__link">
4347
+ <a href="../../core-data-model/dcim/rearport.html" class="md-nav__link">
3660
4348
 
3661
4349
 
3662
4350
  <span class="md-ellipsis">
3663
- Platform
4351
+ Rear Port
3664
4352
  </span>
3665
4353
 
3666
4354
 
@@ -3670,6 +4358,14 @@
3670
4358
 
3671
4359
 
3672
4360
 
4361
+ </ul>
4362
+ </nav>
4363
+
4364
+ </li>
4365
+
4366
+
4367
+
4368
+
3673
4369
 
3674
4370
 
3675
4371
 
@@ -3687,32 +4383,32 @@
3687
4383
 
3688
4384
 
3689
4385
 
3690
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3_8" >
4386
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3691
4387
 
3692
4388
 
3693
4389
 
3694
4390
  <div class="md-nav__link md-nav__container">
3695
- <a href="../../core-data-model/dcim/devicetype.html" class="md-nav__link ">
4391
+ <a href="../../core-data-model/dcim/moduletype.html" class="md-nav__link ">
3696
4392
 
3697
4393
 
3698
4394
  <span class="md-ellipsis">
3699
- Device Type
4395
+ Module Type
3700
4396
  </span>
3701
4397
 
3702
4398
 
3703
4399
  </a>
3704
4400
 
3705
4401
 
3706
- <label class="md-nav__link " for="__nav_2_3_3_8" id="__nav_2_3_3_8_label" tabindex="0">
4402
+ <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3707
4403
  <span class="md-nav__icon md-icon"></span>
3708
4404
  </label>
3709
4405
 
3710
4406
  </div>
3711
4407
 
3712
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_3_8_label" aria-expanded="false">
3713
- <label class="md-nav__title" for="__nav_2_3_3_8">
4408
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
4409
+ <label class="md-nav__title" for="__nav_2_3_4_10">
3714
4410
  <span class="md-nav__icon md-icon"></span>
3715
- Device Type
4411
+ Module Type
3716
4412
  </label>
3717
4413
  <ul class="md-nav__list" data-md-scrollfix>
3718
4414
 
@@ -3765,11 +4461,11 @@
3765
4461
 
3766
4462
 
3767
4463
  <li class="md-nav__item">
3768
- <a href="../../core-data-model/dcim/devicebaytemplate.html" class="md-nav__link">
4464
+ <a href="../../core-data-model/dcim/frontporttemplate.html" class="md-nav__link">
3769
4465
 
3770
4466
 
3771
4467
  <span class="md-ellipsis">
3772
- Device Bay Template
4468
+ Front Port Template
3773
4469
  </span>
3774
4470
 
3775
4471
 
@@ -3786,11 +4482,11 @@
3786
4482
 
3787
4483
 
3788
4484
  <li class="md-nav__item">
3789
- <a href="../../core-data-model/dcim/frontporttemplate.html" class="md-nav__link">
4485
+ <a href="../../core-data-model/dcim/interfacetemplate.html" class="md-nav__link">
3790
4486
 
3791
4487
 
3792
4488
  <span class="md-ellipsis">
3793
- Front Port Template
4489
+ Interface Template
3794
4490
  </span>
3795
4491
 
3796
4492
 
@@ -3807,11 +4503,11 @@
3807
4503
 
3808
4504
 
3809
4505
  <li class="md-nav__item">
3810
- <a href="../../core-data-model/dcim/interfacetemplate.html" class="md-nav__link">
4506
+ <a href="../../core-data-model/dcim/modulebaytemplate.html" class="md-nav__link">
3811
4507
 
3812
4508
 
3813
4509
  <span class="md-ellipsis">
3814
- Interface Template
4510
+ Module Bay Template
3815
4511
  </span>
3816
4512
 
3817
4513
 
@@ -3909,32 +4605,32 @@
3909
4605
 
3910
4606
 
3911
4607
 
3912
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3_9" >
4608
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3913
4609
 
3914
4610
 
3915
4611
 
3916
4612
  <div class="md-nav__link md-nav__container">
3917
- <a href="../../core-data-model/dcim/device.html" class="md-nav__link ">
4613
+ <a href="../../core-data-model/dcim/module.html" class="md-nav__link ">
3918
4614
 
3919
4615
 
3920
4616
  <span class="md-ellipsis">
3921
- Device
4617
+ Module
3922
4618
  </span>
3923
4619
 
3924
4620
 
3925
4621
  </a>
3926
4622
 
3927
4623
 
3928
- <label class="md-nav__link " for="__nav_2_3_3_9" id="__nav_2_3_3_9_label" tabindex="0">
4624
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3929
4625
  <span class="md-nav__icon md-icon"></span>
3930
4626
  </label>
3931
4627
 
3932
4628
  </div>
3933
4629
 
3934
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_3_9_label" aria-expanded="false">
3935
- <label class="md-nav__title" for="__nav_2_3_3_9">
4630
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
4631
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3936
4632
  <span class="md-nav__icon md-icon"></span>
3937
- Device
4633
+ Module
3938
4634
  </label>
3939
4635
  <ul class="md-nav__list" data-md-scrollfix>
3940
4636
 
@@ -3987,11 +4683,11 @@
3987
4683
 
3988
4684
 
3989
4685
  <li class="md-nav__item">
3990
- <a href="../../core-data-model/dcim/devicebay.html" class="md-nav__link">
4686
+ <a href="../../core-data-model/dcim/frontport.html" class="md-nav__link">
3991
4687
 
3992
4688
 
3993
4689
  <span class="md-ellipsis">
3994
- Device Bay
4690
+ Front Port
3995
4691
  </span>
3996
4692
 
3997
4693
 
@@ -4008,11 +4704,11 @@
4008
4704
 
4009
4705
 
4010
4706
  <li class="md-nav__item">
4011
- <a href="../../core-data-model/dcim/frontport.html" class="md-nav__link">
4707
+ <a href="../../core-data-model/dcim/interface.html" class="md-nav__link">
4012
4708
 
4013
4709
 
4014
4710
  <span class="md-ellipsis">
4015
- Front Port
4711
+ Interface
4016
4712
  </span>
4017
4713
 
4018
4714
 
@@ -4029,11 +4725,11 @@
4029
4725
 
4030
4726
 
4031
4727
  <li class="md-nav__item">
4032
- <a href="../../core-data-model/dcim/interface.html" class="md-nav__link">
4728
+ <a href="../../core-data-model/dcim/inventoryitem.html" class="md-nav__link">
4033
4729
 
4034
4730
 
4035
4731
  <span class="md-ellipsis">
4036
- Interface
4732
+ Inventory Item
4037
4733
  </span>
4038
4734
 
4039
4735
 
@@ -4050,11 +4746,11 @@
4050
4746
 
4051
4747
 
4052
4748
  <li class="md-nav__item">
4053
- <a href="../../core-data-model/dcim/inventoryitem.html" class="md-nav__link">
4749
+ <a href="../../core-data-model/dcim/modulebay.html" class="md-nav__link">
4054
4750
 
4055
4751
 
4056
4752
  <span class="md-ellipsis">
4057
- Inventory Item
4753
+ Module Bay
4058
4754
  </span>
4059
4755
 
4060
4756
 
@@ -4391,10 +5087,10 @@
4391
5087
 
4392
5088
 
4393
5089
 
4394
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4" >
5090
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_5" >
4395
5091
 
4396
5092
 
4397
- <label class="md-nav__link" for="__nav_2_3_4" id="__nav_2_3_4_label" tabindex="0">
5093
+ <label class="md-nav__link" for="__nav_2_3_5" id="__nav_2_3_5_label" tabindex="0">
4398
5094
 
4399
5095
 
4400
5096
  <span class="md-ellipsis">
@@ -4405,8 +5101,8 @@
4405
5101
  <span class="md-nav__icon md-icon"></span>
4406
5102
  </label>
4407
5103
 
4408
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_4_label" aria-expanded="false">
4409
- <label class="md-nav__title" for="__nav_2_3_4">
5104
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_5_label" aria-expanded="false">
5105
+ <label class="md-nav__title" for="__nav_2_3_5">
4410
5106
  <span class="md-nav__icon md-icon"></span>
4411
5107
  Extras
4412
5108
  </label>
@@ -4521,10 +5217,10 @@
4521
5217
 
4522
5218
 
4523
5219
 
4524
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_5" >
5220
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_6" >
4525
5221
 
4526
5222
 
4527
- <label class="md-nav__link" for="__nav_2_3_5" id="__nav_2_3_5_label" tabindex="0">
5223
+ <label class="md-nav__link" for="__nav_2_3_6" id="__nav_2_3_6_label" tabindex="0">
4528
5224
 
4529
5225
 
4530
5226
  <span class="md-ellipsis">
@@ -4535,8 +5231,8 @@
4535
5231
  <span class="md-nav__icon md-icon"></span>
4536
5232
  </label>
4537
5233
 
4538
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_5_label" aria-expanded="false">
4539
- <label class="md-nav__title" for="__nav_2_3_5">
5234
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_6_label" aria-expanded="false">
5235
+ <label class="md-nav__title" for="__nav_2_3_6">
4540
5236
  <span class="md-nav__icon md-icon"></span>
4541
5237
  IPAM
4542
5238
  </label>
@@ -4756,10 +5452,10 @@
4756
5452
 
4757
5453
 
4758
5454
 
4759
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_6" >
5455
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_7" >
4760
5456
 
4761
5457
 
4762
- <label class="md-nav__link" for="__nav_2_3_6" id="__nav_2_3_6_label" tabindex="0">
5458
+ <label class="md-nav__link" for="__nav_2_3_7" id="__nav_2_3_7_label" tabindex="0">
4763
5459
 
4764
5460
 
4765
5461
  <span class="md-ellipsis">
@@ -4770,8 +5466,8 @@
4770
5466
  <span class="md-nav__icon md-icon"></span>
4771
5467
  </label>
4772
5468
 
4773
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_6_label" aria-expanded="false">
4774
- <label class="md-nav__title" for="__nav_2_3_6">
5469
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_7_label" aria-expanded="false">
5470
+ <label class="md-nav__title" for="__nav_2_3_7">
4775
5471
  <span class="md-nav__icon md-icon"></span>
4776
5472
  Tenancy
4777
5473
  </label>
@@ -4844,10 +5540,10 @@
4844
5540
 
4845
5541
 
4846
5542
 
4847
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_7" >
5543
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_8" >
4848
5544
 
4849
5545
 
4850
- <label class="md-nav__link" for="__nav_2_3_7" id="__nav_2_3_7_label" tabindex="0">
5546
+ <label class="md-nav__link" for="__nav_2_3_8" id="__nav_2_3_8_label" tabindex="0">
4851
5547
 
4852
5548
 
4853
5549
  <span class="md-ellipsis">
@@ -4858,8 +5554,8 @@
4858
5554
  <span class="md-nav__icon md-icon"></span>
4859
5555
  </label>
4860
5556
 
4861
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_7_label" aria-expanded="false">
4862
- <label class="md-nav__title" for="__nav_2_3_7">
5557
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_8_label" aria-expanded="false">
5558
+ <label class="md-nav__title" for="__nav_2_3_8">
4863
5559
  <span class="md-nav__icon md-icon"></span>
4864
5560
  Virtualization
4865
5561
  </label>
@@ -5114,21 +5810,75 @@
5114
5810
 
5115
5811
 
5116
5812
 
5117
- <li class="md-nav__item">
5118
- <a href="../../platform-functionality/dynamicgroup.html" class="md-nav__link">
5813
+
5814
+
5815
+
5816
+
5817
+
5818
+
5819
+
5820
+ <li class="md-nav__item md-nav__item--nested">
5821
+
5822
+
5119
5823
 
5824
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_5" >
5825
+
5826
+
5827
+
5828
+ <div class="md-nav__link md-nav__container">
5829
+ <a href="../../platform-functionality/dynamicgroup.html" class="md-nav__link ">
5830
+
5120
5831
 
5121
5832
  <span class="md-ellipsis">
5122
5833
  Dynamic Groups
5123
5834
  </span>
5124
5835
 
5125
5836
 
5837
+ </a>
5838
+
5839
+
5840
+ <label class="md-nav__link " for="__nav_2_4_5" id="__nav_2_4_5_label" tabindex="0">
5841
+ <span class="md-nav__icon md-icon"></span>
5842
+ </label>
5843
+
5844
+ </div>
5845
+
5846
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_5_label" aria-expanded="false">
5847
+ <label class="md-nav__title" for="__nav_2_4_5">
5848
+ <span class="md-nav__icon md-icon"></span>
5849
+ Dynamic Groups
5850
+ </label>
5851
+ <ul class="md-nav__list" data-md-scrollfix>
5852
+
5853
+
5854
+
5855
+
5856
+
5857
+
5858
+
5859
+ <li class="md-nav__item">
5860
+ <a href="../../platform-functionality/staticgroupassociation.html" class="md-nav__link">
5861
+
5862
+
5863
+ <span class="md-ellipsis">
5864
+ Static Group Associations
5865
+ </span>
5866
+
5867
+
5126
5868
  </a>
5127
5869
  </li>
5128
5870
 
5129
5871
 
5130
5872
 
5131
5873
 
5874
+ </ul>
5875
+ </nav>
5876
+
5877
+ </li>
5878
+
5879
+
5880
+
5881
+
5132
5882
 
5133
5883
 
5134
5884
 
@@ -5474,6 +6224,27 @@
5474
6224
 
5475
6225
 
5476
6226
 
6227
+ <li class="md-nav__item">
6228
+ <a href="../../platform-functionality/objectmetadata.html" class="md-nav__link">
6229
+
6230
+
6231
+ <span class="md-ellipsis">
6232
+ Object Metadata
6233
+ </span>
6234
+
6235
+
6236
+ </a>
6237
+ </li>
6238
+
6239
+
6240
+
6241
+
6242
+
6243
+
6244
+
6245
+
6246
+
6247
+
5477
6248
  <li class="md-nav__item">
5478
6249
  <a href="../../platform-functionality/relationship.html" class="md-nav__link">
5479
6250
 
@@ -5506,7 +6277,7 @@
5506
6277
 
5507
6278
 
5508
6279
 
5509
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" >
6280
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_16" >
5510
6281
 
5511
6282
 
5512
6283
 
@@ -5522,14 +6293,14 @@
5522
6293
  </a>
5523
6294
 
5524
6295
 
5525
- <label class="md-nav__link " for="__nav_2_4_15" id="__nav_2_4_15_label" tabindex="0">
6296
+ <label class="md-nav__link " for="__nav_2_4_16" id="__nav_2_4_16_label" tabindex="0">
5526
6297
  <span class="md-nav__icon md-icon"></span>
5527
6298
  </label>
5528
6299
 
5529
6300
  </div>
5530
6301
 
5531
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_15_label" aria-expanded="false">
5532
- <label class="md-nav__title" for="__nav_2_4_15">
6302
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_16_label" aria-expanded="false">
6303
+ <label class="md-nav__title" for="__nav_2_4_16">
5533
6304
  <span class="md-nav__icon md-icon"></span>
5534
6305
  REST API
5535
6306
  </label>
@@ -5633,6 +6404,27 @@
5633
6404
 
5634
6405
 
5635
6406
 
6407
+ <li class="md-nav__item">
6408
+ <a href="../../platform-functionality/savedview.html" class="md-nav__link">
6409
+
6410
+
6411
+ <span class="md-ellipsis">
6412
+ Saved Views
6413
+ </span>
6414
+
6415
+
6416
+ </a>
6417
+ </li>
6418
+
6419
+
6420
+
6421
+
6422
+
6423
+
6424
+
6425
+
6426
+
6427
+
5636
6428
  <li class="md-nav__item">
5637
6429
  <a href="../../platform-functionality/secret.html" class="md-nav__link">
5638
6430
 
@@ -5728,10 +6520,10 @@
5728
6520
 
5729
6521
 
5730
6522
 
5731
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
6523
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_23" >
5732
6524
 
5733
6525
 
5734
- <label class="md-nav__link" for="__nav_2_4_21" id="__nav_2_4_21_label" tabindex="0">
6526
+ <label class="md-nav__link" for="__nav_2_4_23" id="__nav_2_4_23_label" tabindex="0">
5735
6527
 
5736
6528
 
5737
6529
  <span class="md-ellipsis">
@@ -5742,8 +6534,8 @@
5742
6534
  <span class="md-nav__icon md-icon"></span>
5743
6535
  </label>
5744
6536
 
5745
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_21_label" aria-expanded="false">
5746
- <label class="md-nav__title" for="__nav_2_4_21">
6537
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_23_label" aria-expanded="false">
6538
+ <label class="md-nav__title" for="__nav_2_4_23">
5747
6539
  <span class="md-nav__icon md-icon"></span>
5748
6540
  Users
5749
6541
  </label>
@@ -8291,6 +9083,27 @@
8291
9083
 
8292
9084
 
8293
9085
 
9086
+ <li class="md-nav__item">
9087
+ <a href="../../../release-notes/version-2.3.html" class="md-nav__link">
9088
+
9089
+
9090
+ <span class="md-ellipsis">
9091
+ Version 2.3
9092
+ </span>
9093
+
9094
+
9095
+ </a>
9096
+ </li>
9097
+
9098
+
9099
+
9100
+
9101
+
9102
+
9103
+
9104
+
9105
+
9106
+
8294
9107
  <li class="md-nav__item">
8295
9108
  <a href="../../../release-notes/version-2.2.html" class="md-nav__link">
8296
9109
 
@@ -9054,6 +9867,15 @@
9054
9867
  </span>
9055
9868
  </a>
9056
9869
 
9870
+ </li>
9871
+
9872
+ <li class="md-nav__item">
9873
+ <a href="#celery_worker_prefetch_multiplier" class="md-nav__link">
9874
+ <span class="md-ellipsis">
9875
+ CELERY_WORKER_PREFETCH_MULTIPLIER
9876
+ </span>
9877
+ </a>
9878
+
9057
9879
  </li>
9058
9880
 
9059
9881
  <li class="md-nav__item">
@@ -9198,15 +10020,6 @@
9198
10020
  </span>
9199
10021
  </a>
9200
10022
 
9201
- </li>
9202
-
9203
- <li class="md-nav__item">
9204
- <a href="#dynamic_groups_member_cache_timeout" class="md-nav__link">
9205
- <span class="md-ellipsis">
9206
- DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT
9207
- </span>
9208
- </a>
9209
-
9210
10023
  </li>
9211
10024
 
9212
10025
  <li class="md-nav__item">
@@ -9370,6 +10183,15 @@
9370
10183
  </span>
9371
10184
  </a>
9372
10185
 
10186
+ </li>
10187
+
10188
+ <li class="md-nav__item">
10189
+ <a href="#structlog-configuration" class="md-nav__link">
10190
+ <span class="md-ellipsis">
10191
+ Structlog Configuration
10192
+ </span>
10193
+ </a>
10194
+
9373
10195
  </li>
9374
10196
 
9375
10197
  </ul>
@@ -9880,9 +10702,6 @@
9880
10702
  <p><a href="#device_name_as_natural_key"><code>DEVICE_NAME_AS_NATURAL_KEY</code></a></p>
9881
10703
  </li>
9882
10704
  <li>
9883
- <p><a href="#dynamic_groups_member_cache_timeout"><code>DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT</code></a></p>
9884
- </li>
9885
- <li>
9886
10705
  <p><a href="#job_create_file_max_size"><code>JOB_CREATE_FILE_MAX_SIZE</code></a></p>
9887
10706
  </li>
9888
10707
  <li>
@@ -10209,6 +11028,20 @@ can specify additional apps with ease. Similarly, additional <code>MIDDLEWARE</
10209
11028
  <li><a href="#celery_task_soft_time_limit"> <code>CELERY_TASK_SOFT_TIME_LIMIT</code> </a></li>
10210
11029
  </ul>
10211
11030
  <hr />
11031
+ <h3 id="celery_worker_prefetch_multiplier"><code>CELERY_WORKER_PREFETCH_MULTIPLIER</code><a class="headerlink" href="#celery_worker_prefetch_multiplier" title="Permanent link">&para;</a></h3>
11032
+ <details class="version-added">
11033
+ <summary>Added in version 2.2.9</summary>
11034
+ </details>
11035
+ <p><strong>Default:</strong>
11036
+ <code>4</code></p>
11037
+ <p><strong>Environment Variable:</strong> <code>NAUTOBOT_CELERY_WORKER_PREFETCH_MULTIPLIER</code></p>
11038
+ <p>How many tasks a worker is allowed to reserve for its own consumption and execution.</p>
11039
+ <p>If set to <code>0</code> (not recommended) a single worker can reserve all tasks even if other workers are free. For short running tasks (such as webhooks) you may want to set this to a larger number to increase throughput. Conversely, for long-running tasks (such as SSoT or Golden-Config Jobs at scale) you may want to set this to <code>1</code> so that a worker executing a long-running task will not prefetch other tasks, which would block their execution until the long-running task completes.</p>
11040
+ <p><strong>See Also:</strong></p>
11041
+ <ul>
11042
+ <li><a href="https://docs.celeryq.dev/en/stable/userguide/optimizing.html#prefetch-limits"> Celery documentation </a></li>
11043
+ </ul>
11044
+ <hr />
10212
11045
  <h3 id="celery_worker_prometheus_ports"><code>CELERY_WORKER_PROMETHEUS_PORTS</code><a class="headerlink" href="#celery_worker_prometheus_ports" title="Permanent link">&para;</a></h3>
10213
11046
  <details class="version-added">
10214
11047
  <summary>Added in version 1.5.10</summary>
@@ -10265,6 +11098,13 @@ can specify additional apps with ease. Similarly, additional <code>MIDDLEWARE</
10265
11098
  <p>If enabling indefinite changelog retention, it is recommended to periodically delete old entries.
10266
11099
  Otherwise, the database may eventually exceed capacity.</p>
10267
11100
  </div>
11101
+ <details class="version-changed">
11102
+ <summary>Changed in version 2.3.0</summary>
11103
+ <p>As of Nautobot 2.3.0, changelog cleanup does not run automatically. Use the <code>Cleanup of ObjectChange records</code>
11104
+ system Job to handle changelog cleanup; you may schedule this to run automatically like any other Job if
11105
+ desired. The <code>CHANGELOG_RETENTION</code> setting provides a default age cutoff for the Job but may be overridden
11106
+ at runtime if desired.</p>
11107
+ </details>
10268
11108
  <div class="admonition tip">
10269
11109
  <p class="admonition-title">Tip</p>
10270
11110
  <p>If you do not set a value for this setting in your <code>nautobot_config.py</code>, it can be configured dynamically by an admin user via the Nautobot Admin UI. If you do have a value for this setting in <code>nautobot_config.py</code>, it will override any dynamically configured value.</p>
@@ -10416,20 +11256,6 @@ installation metrics. This setting is not generally intended to be user-servicea
10416
11256
  <p>If you do not set a value for this setting in your <code>nautobot_config.py</code>, it can be configured dynamically by an admin user via the Nautobot Admin UI. If you do have a value for this setting in <code>nautobot_config.py</code>, it will override any dynamically configured value.</p>
10417
11257
  </div>
10418
11258
  <hr />
10419
- <h3 id="dynamic_groups_member_cache_timeout"><code>DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT</code><a class="headerlink" href="#dynamic_groups_member_cache_timeout" title="Permanent link">&para;</a></h3>
10420
- <details class="version-added">
10421
- <summary>Added in version 1.6.0</summary>
10422
- </details>
10423
- <p><strong>Default:</strong>
10424
- <code>0</code></p>
10425
- <p><strong>Environment Variable:</strong> <code>NAUTOBOT_DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT</code></p>
10426
- <p>The number of seconds to cache the member list of dynamic groups. Set this to <code>0</code> to disable caching.</p>
10427
- <p>With large datasets (those in scope of a Dynamic Group and number of Dynamic Groups themselves), users will encounter a performance penalty using or accessing the membership lists. This setting allows users to accept a cached list for common use cases (particularly in the UI) that expires after the configured time."</p>
10428
- <div class="admonition tip">
10429
- <p class="admonition-title">Tip</p>
10430
- <p>If you do not set a value for this setting in your <code>nautobot_config.py</code>, it can be configured dynamically by an admin user via the Nautobot Admin UI. If you do have a value for this setting in <code>nautobot_config.py</code>, it will override any dynamically configured value.</p>
10431
- </div>
10432
- <hr />
10433
11259
  <h3 id="exempt_view_permissions"><code>EXEMPT_VIEW_PERMISSIONS</code><a class="headerlink" href="#exempt_view_permissions" title="Permanent link">&para;</a></h3>
10434
11260
  <p><strong>Default:</strong>
10435
11261
  <code>[]</code></p>
@@ -10778,6 +11604,30 @@ a local file:</p>
10778
11604
  <li><code>nautobot.extras.plugins.*</code> - App loading and activity</li>
10779
11605
  <li><code>nautobot.core.views.generic.*</code> - Generic views which handle business logic for the web UI</li>
10780
11606
  </ul>
11607
+ <h4 id="structlog-configuration">Structlog Configuration<a class="headerlink" href="#structlog-configuration" title="Permanent link">&para;</a></h4>
11608
+ <p>As of Nautobot 2.3, <a href="https://django-structlog.readthedocs.io/en/latest/">django-structlog</a> is added as a core dependency. To use structlog, you can add the following code to your <code>nautobot_config.py</code> file:</p>
11609
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="kn">from</span> <span class="nn">nautobot.core.settings_funcs</span> <span class="kn">import</span> <span class="n">setup_structlog_logging</span>
11610
+ <a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>
11611
+ <a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a><span class="n">setup_structlog_logging</span><span class="p">(</span>
11612
+ <a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a> <span class="n">LOGGING</span><span class="p">,</span>
11613
+ <a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a> <span class="n">INSTALLED_APPS</span><span class="p">,</span>
11614
+ <a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a> <span class="n">MIDDLEWARE</span><span class="p">,</span>
11615
+ <a id="__codelineno-13-7" name="__codelineno-13-7" href="#__codelineno-13-7"></a> <span class="n">log_level</span><span class="o">=</span><span class="s2">&quot;DEBUG&quot;</span> <span class="k">if</span> <span class="n">DEBUG</span> <span class="k">else</span> <span class="s2">&quot;INFO&quot;</span><span class="p">,</span>
11616
+ <a id="__codelineno-13-8" name="__codelineno-13-8" href="#__codelineno-13-8"></a> <span class="n">root_level</span><span class="o">=</span><span class="s2">&quot;INFO&quot;</span><span class="p">,</span>
11617
+ <a id="__codelineno-13-9" name="__codelineno-13-9" href="#__codelineno-13-9"></a> <span class="n">plain_format</span><span class="o">=</span><span class="nb">bool</span><span class="p">(</span><span class="n">DEBUG</span><span class="p">),</span> <span class="c1"># Set to True to use human-readable structlog format over JSON</span>
11618
+ <a id="__codelineno-13-10" name="__codelineno-13-10" href="#__codelineno-13-10"></a> <span class="n">debug_db</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="c1"># Set to True to log all database queries</span>
11619
+ <a id="__codelineno-13-11" name="__codelineno-13-11" href="#__codelineno-13-11"></a><span class="p">)</span>
11620
+ </code></pre></div>
11621
+ <p>Calling this function disables logging if running tests, otherwise:</p>
11622
+ <ul>
11623
+ <li>Overwrites all <code>formatters</code> and <code>handlers</code> to avoid logging duplication.
11624
+ It's possible to add custom <code>formatters</code> and <code>handlers</code> after calling this function.</li>
11625
+ <li>Updates all <code>loggers</code> to use structlog with the specified <code>log_level</code>.</li>
11626
+ <li>Adds or updates the root logger to use structlog with the specified <code>root_level</code>.</li>
11627
+ <li>Uses a human-readable structlog format if <code>plain_format</code> is True, otherwise uses JSON.</li>
11628
+ <li>Adds database query logging if <code>debug_db</code> is True.</li>
11629
+ <li>Adds necessary Django apps and middleware for structlog.</li>
11630
+ </ul>
10781
11631
  <p><strong>See Also:</strong></p>
10782
11632
  <ul>
10783
11633
  <li>
@@ -10883,20 +11733,20 @@ to avoid this.</p>
10883
11733
  <code>{}</code></p>
10884
11734
  <p>A dictionary of optional arguments to pass to NAPALM when instantiating a network driver.</p>
10885
11735
  <p>Example:</p>
10886
- <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="n">NAPALM_ARGS</span> <span class="o">=</span> <span class="p">{</span>
10887
- <a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a> <span class="s1">&#39;api_key&#39;</span><span class="p">:</span> <span class="s1">&#39;472071a93b60a1bd1fafb401d9f8ef41&#39;</span><span class="p">,</span>
10888
- <a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a> <span class="s1">&#39;port&#39;</span><span class="p">:</span> <span class="mi">2222</span><span class="p">,</span>
10889
- <a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a><span class="p">}</span>
11736
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="n">NAPALM_ARGS</span> <span class="o">=</span> <span class="p">{</span>
11737
+ <a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a> <span class="s1">&#39;api_key&#39;</span><span class="p">:</span> <span class="s1">&#39;472071a93b60a1bd1fafb401d9f8ef41&#39;</span><span class="p">,</span>
11738
+ <a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a> <span class="s1">&#39;port&#39;</span><span class="p">:</span> <span class="mi">2222</span><span class="p">,</span>
11739
+ <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="p">}</span>
10890
11740
  </code></pre></div>
10891
11741
  <p>Some platforms (e.g. Cisco IOS) require an enable password to be passed in addition to the normal password.
10892
11742
  If desired, you can use the configured <code>NAPALM_PASSWORD</code> as the value for this argument:</p>
10893
- <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="n">NAPALM_USERNAME</span> <span class="o">=</span> <span class="s1">&#39;username&#39;</span>
10894
- <a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="n">NAPALM_PASSWORD</span> <span class="o">=</span> <span class="s1">&#39;MySecretPassword&#39;</span>
10895
- <a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a><span class="n">NAPALM_ARGS</span> <span class="o">=</span> <span class="p">{</span>
10896
- <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a> <span class="s1">&#39;secret&#39;</span><span class="p">:</span> <span class="n">NAPALM_PASSWORD</span><span class="p">,</span> <span class="c1"># ios and nxos_ssh</span>
10897
- <a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a> <span class="s1">&#39;enable_password&#39;</span><span class="p">:</span> <span class="n">NAPALM_PASSWORD</span><span class="p">,</span> <span class="c1"># eos</span>
10898
- <a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a> <span class="c1"># Include any additional args here</span>
10899
- <a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="p">}</span>
11743
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="n">NAPALM_USERNAME</span> <span class="o">=</span> <span class="s1">&#39;username&#39;</span>
11744
+ <a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="n">NAPALM_PASSWORD</span> <span class="o">=</span> <span class="s1">&#39;MySecretPassword&#39;</span>
11745
+ <a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a><span class="n">NAPALM_ARGS</span> <span class="o">=</span> <span class="p">{</span>
11746
+ <a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a> <span class="s1">&#39;secret&#39;</span><span class="p">:</span> <span class="n">NAPALM_PASSWORD</span><span class="p">,</span> <span class="c1"># ios and nxos_ssh</span>
11747
+ <a id="__codelineno-15-5" name="__codelineno-15-5" href="#__codelineno-15-5"></a> <span class="s1">&#39;enable_password&#39;</span><span class="p">:</span> <span class="n">NAPALM_PASSWORD</span><span class="p">,</span> <span class="c1"># eos</span>
11748
+ <a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a> <span class="c1"># Include any additional args here</span>
11749
+ <a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a><span class="p">}</span>
10900
11750
  </code></pre></div>
10901
11751
  <div class="admonition note">
10902
11752
  <p class="admonition-title">Note</p>
@@ -10975,10 +11825,10 @@ If you need to customize this setting, please always set the <code>NAUTOBOT_ROOT
10975
11825
  <p>An optional dictionary to extend or override the default <code>Platform.network_driver</code> translations provided by <a href="https://netutils.readthedocs.io/en/latest/user/lib_use_cases_lib_mapper/">netutils</a>.</p>
10976
11826
  <p>For example, to add support for a custom <code>Platform.network_driver</code> value of <code>"my_network_driver"</code>
10977
11827
  for Netmiko and PyATS drivers:</p>
10978
- <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="n">NETWORK_DRIVERS</span> <span class="o">=</span> <span class="p">{</span>
10979
- <a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a> <span class="s1">&#39;netmiko&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;my_network_driver&#39;</span><span class="p">:</span> <span class="s1">&#39;cisco_ios&#39;</span><span class="p">},</span>
10980
- <a id="__codelineno-15-3" name="__codelineno-15-3" href="#__codelineno-15-3"></a> <span class="s1">&#39;pyats&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;my_network_driver&#39;</span><span class="p">:</span> <span class="s1">&#39;iosxe&#39;</span><span class="p">},</span>
10981
- <a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="p">}</span>
11828
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="n">NETWORK_DRIVERS</span> <span class="o">=</span> <span class="p">{</span>
11829
+ <a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a> <span class="s1">&#39;netmiko&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;my_network_driver&#39;</span><span class="p">:</span> <span class="s1">&#39;cisco_ios&#39;</span><span class="p">},</span>
11830
+ <a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a> <span class="s1">&#39;pyats&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;my_network_driver&#39;</span><span class="p">:</span> <span class="s1">&#39;iosxe&#39;</span><span class="p">},</span>
11831
+ <a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="p">}</span>
10982
11832
  </code></pre></div>
10983
11833
  <p>The default top-level keys are <code>ansible</code>, <code>hier_config</code>, <code>napalm</code>, <code>netmiko</code>, <code>netutils_parser</code>,
10984
11834
  <code>ntc_templates</code>, <code>pyats</code>, <code>pyntc</code>, and <code>scrapli</code>, but you can also add additional keys if you have
@@ -11027,15 +11877,15 @@ absolutely no guarantees about the integrity or security of your installation wi
11027
11877
  <p>It is defined as a dictionary, with each key using the name of an installed App.
11028
11878
  The specific parameters supported are unique to each App; reference the App's documentation to determine
11029
11879
  the supported parameters. An example configuration is shown below:</p>
11030
- <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="n">PLUGINS_CONFIG</span> <span class="o">=</span> <span class="p">{</span>
11031
- <a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a> <span class="s1">&#39;app1&#39;</span><span class="p">:</span> <span class="p">{</span>
11032
- <a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a> <span class="s1">&#39;foo&#39;</span><span class="p">:</span> <span class="mi">123</span><span class="p">,</span>
11033
- <a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a> <span class="s1">&#39;bar&#39;</span><span class="p">:</span> <span class="kc">True</span>
11034
- <a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a> <span class="p">},</span>
11035
- <a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a> <span class="s1">&#39;app2&#39;</span><span class="p">:</span> <span class="p">{</span>
11036
- <a id="__codelineno-16-7" name="__codelineno-16-7" href="#__codelineno-16-7"></a> <span class="s1">&#39;foo&#39;</span><span class="p">:</span> <span class="mi">456</span><span class="p">,</span>
11037
- <a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a> <span class="p">},</span>
11038
- <a id="__codelineno-16-9" name="__codelineno-16-9" href="#__codelineno-16-9"></a><span class="p">}</span>
11880
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="n">PLUGINS_CONFIG</span> <span class="o">=</span> <span class="p">{</span>
11881
+ <a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a> <span class="s1">&#39;app1&#39;</span><span class="p">:</span> <span class="p">{</span>
11882
+ <a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a> <span class="s1">&#39;foo&#39;</span><span class="p">:</span> <span class="mi">123</span><span class="p">,</span>
11883
+ <a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> <span class="s1">&#39;bar&#39;</span><span class="p">:</span> <span class="kc">True</span>
11884
+ <a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a> <span class="p">},</span>
11885
+ <a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a> <span class="s1">&#39;app2&#39;</span><span class="p">:</span> <span class="p">{</span>
11886
+ <a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a> <span class="s1">&#39;foo&#39;</span><span class="p">:</span> <span class="mi">456</span><span class="p">,</span>
11887
+ <a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a> <span class="p">},</span>
11888
+ <a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a><span class="p">}</span>
11039
11889
  </code></pre></div>
11040
11890
  <p>Note that an App must be listed in <code>PLUGINS</code> for its configuration to take effect.</p>
11041
11891
  <hr />
@@ -11142,13 +11992,13 @@ or a custom fork. Set this to <code>None</code> to disable automatic update chec
11142
11992
  <summary>Added in version 1.3.4</summary>
11143
11993
  </details>
11144
11994
  <p><strong>Default:</strong></p>
11145
- <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="p">[</span>
11146
- <a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a> <span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;(https?://)?\S+\s*@&quot;</span><span class="p">,</span> <span class="n">re</span><span class="o">.</span><span class="n">IGNORECASE</span><span class="p">),</span> <span class="sa">r</span><span class="s2">&quot;\1</span><span class="si">{replacement}</span><span class="s2">@&quot;</span><span class="p">),</span>
11147
- <a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a> <span class="p">(</span>
11148
- <a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;(username|password|passwd|pwd|secret|secrets)([</span><span class="se">\&quot;</span><span class="s2">&#39;]?(?:\s+is.?|:)?\s+)\S+[</span><span class="se">\&quot;</span><span class="s2">&#39;]?&quot;</span><span class="p">,</span> <span class="n">re</span><span class="o">.</span><span class="n">IGNORECASE</span><span class="p">),</span>
11149
- <a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a> <span class="sa">r</span><span class="s2">&quot;\1\2</span><span class="si">{replacement}</span><span class="s2">&quot;</span><span class="p">,</span>
11150
- <a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a> <span class="p">),</span>
11151
- <a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a><span class="p">]</span>
11995
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="p">[</span>
11996
+ <a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a> <span class="p">(</span><span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;(https?://)?\S+\s*@&quot;</span><span class="p">,</span> <span class="n">re</span><span class="o">.</span><span class="n">IGNORECASE</span><span class="p">),</span> <span class="sa">r</span><span class="s2">&quot;\1</span><span class="si">{replacement}</span><span class="s2">@&quot;</span><span class="p">),</span>
11997
+ <a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a> <span class="p">(</span>
11998
+ <a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a> <span class="n">re</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="sa">r</span><span class="s2">&quot;(username|password|passwd|pwd|secret|secrets)([</span><span class="se">\&quot;</span><span class="s2">&#39;]?(?:\s+is.?|:)?\s+)\S+[</span><span class="se">\&quot;</span><span class="s2">&#39;]?&quot;</span><span class="p">,</span> <span class="n">re</span><span class="o">.</span><span class="n">IGNORECASE</span><span class="p">),</span>
11999
+ <a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a> <span class="sa">r</span><span class="s2">&quot;\1\2</span><span class="si">{replacement}</span><span class="s2">&quot;</span><span class="p">,</span>
12000
+ <a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a> <span class="p">),</span>
12001
+ <a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a><span class="p">]</span>
11152
12002
  </code></pre></div>
11153
12003
  <p>List of (regular expression, replacement pattern) tuples used by the <code>nautobot.core.utils.logging.sanitize()</code> function.</p>
11154
12004
  <p>As of Nautobot 1.3.4 this function is used primarily for sanitization of Job log entries,
@@ -11387,23 +12237,23 @@ provide support for Nautobot. Markdown formatting is supported within this messa
11387
12237
  <p><strong>Environment Variable:</strong> <code>NAUTOBOT_TEST_PERFORMANCE_BASELINE_FILE</code></p>
11388
12238
  <p>File path of a YAML file providing baseline times for all performance-related tests.</p>
11389
12239
  <p>The YAML file should conform to the following format:</p>
11390
- <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="nt">tests</span><span class="p">:</span>
11391
- <a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
11392
- <a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="w"> </span><span class="no">test_run_job_with_sensitive_variables_and_requires_approval</span>
11393
- <a id="__codelineno-18-4" name="__codelineno-18-4" href="#__codelineno-18-4"></a><span class="w"> </span><span class="no">(nautobot.extras.tests.test_views.JobTestCase)</span>
11394
- <a id="__codelineno-18-5" name="__codelineno-18-5" href="#__codelineno-18-5"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4.799533</span>
11395
- <a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test_run_missing_schedule (nautobot.extras.tests.test_views.JobTestCase)</span>
11396
- <a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4.367563</span>
11397
- <a id="__codelineno-18-8" name="__codelineno-18-8" href="#__codelineno-18-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test_run_now_missing_args (nautobot.extras.tests.test_views.JobTestCase)</span>
11398
- <a id="__codelineno-18-9" name="__codelineno-18-9" href="#__codelineno-18-9"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4.363194</span>
11399
- <a id="__codelineno-18-10" name="__codelineno-18-10" href="#__codelineno-18-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
11400
- <a id="__codelineno-18-11" name="__codelineno-18-11" href="#__codelineno-18-11"></a><span class="w"> </span><span class="no">test_create_object_with_constrained_permission</span>
11401
- <a id="__codelineno-18-12" name="__codelineno-18-12" href="#__codelineno-18-12"></a><span class="w"> </span><span class="no">(nautobot.extras.tests.test_views.GraphQLQueriesTestCase)</span>
11402
- <a id="__codelineno-18-13" name="__codelineno-18-13" href="#__codelineno-18-13"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3.474244</span>
11403
- <a id="__codelineno-18-14" name="__codelineno-18-14" href="#__codelineno-18-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
11404
- <a id="__codelineno-18-15" name="__codelineno-18-15" href="#__codelineno-18-15"></a><span class="w"> </span><span class="no">test_run_now_constrained_permissions</span>
11405
- <a id="__codelineno-18-16" name="__codelineno-18-16" href="#__codelineno-18-16"></a><span class="w"> </span><span class="no">(nautobot.extras.tests.test_views.JobTestCase)</span>
11406
- <a id="__codelineno-18-17" name="__codelineno-18-17" href="#__codelineno-18-17"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2.727531</span>
12240
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="nt">tests</span><span class="p">:</span>
12241
+ <a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
12242
+ <a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a><span class="w"> </span><span class="no">test_run_job_with_sensitive_variables_and_requires_approval</span>
12243
+ <a id="__codelineno-19-4" name="__codelineno-19-4" href="#__codelineno-19-4"></a><span class="w"> </span><span class="no">(nautobot.extras.tests.test_views.JobTestCase)</span>
12244
+ <a id="__codelineno-19-5" name="__codelineno-19-5" href="#__codelineno-19-5"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4.799533</span>
12245
+ <a id="__codelineno-19-6" name="__codelineno-19-6" href="#__codelineno-19-6"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test_run_missing_schedule (nautobot.extras.tests.test_views.JobTestCase)</span>
12246
+ <a id="__codelineno-19-7" name="__codelineno-19-7" href="#__codelineno-19-7"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4.367563</span>
12247
+ <a id="__codelineno-19-8" name="__codelineno-19-8" href="#__codelineno-19-8"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">test_run_now_missing_args (nautobot.extras.tests.test_views.JobTestCase)</span>
12248
+ <a id="__codelineno-19-9" name="__codelineno-19-9" href="#__codelineno-19-9"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">4.363194</span>
12249
+ <a id="__codelineno-19-10" name="__codelineno-19-10" href="#__codelineno-19-10"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
12250
+ <a id="__codelineno-19-11" name="__codelineno-19-11" href="#__codelineno-19-11"></a><span class="w"> </span><span class="no">test_create_object_with_constrained_permission</span>
12251
+ <a id="__codelineno-19-12" name="__codelineno-19-12" href="#__codelineno-19-12"></a><span class="w"> </span><span class="no">(nautobot.extras.tests.test_views.GraphQLQueriesTestCase)</span>
12252
+ <a id="__codelineno-19-13" name="__codelineno-19-13" href="#__codelineno-19-13"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">3.474244</span>
12253
+ <a id="__codelineno-19-14" name="__codelineno-19-14" href="#__codelineno-19-14"></a><span class="w"> </span><span class="p p-Indicator">-</span><span class="w"> </span><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="p p-Indicator">&gt;-</span>
12254
+ <a id="__codelineno-19-15" name="__codelineno-19-15" href="#__codelineno-19-15"></a><span class="w"> </span><span class="no">test_run_now_constrained_permissions</span>
12255
+ <a id="__codelineno-19-16" name="__codelineno-19-16" href="#__codelineno-19-16"></a><span class="w"> </span><span class="no">(nautobot.extras.tests.test_views.JobTestCase)</span>
12256
+ <a id="__codelineno-19-17" name="__codelineno-19-17" href="#__codelineno-19-17"></a><span class="w"> </span><span class="nt">execution_time</span><span class="p">:</span><span class="w"> </span><span class="l l-Scalar l-Scalar-Plain">2.727531</span>
11407
12257
  </code></pre></div>
11408
12258
  <hr />
11409
12259
  <h3 id="test_use_factories"><code>TEST_USE_FACTORIES</code><a class="headerlink" href="#test_use_factories" title="Permanent link">&para;</a></h3>
@@ -11473,8 +12323,8 @@ jobs may run in the wrong time zone.</p>
11473
12323
  <summary>Added in version 1.4.0</summary>
11474
12324
  </details>
11475
12325
  <p><strong>Default:</strong></p>
11476
- <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="k">def</span> <span class="nf">UI_RACK_VIEW_TRUNCATE_FUNCTION</span><span class="p">(</span><span class="n">device_display_name</span><span class="p">):</span>
11477
- <a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a> <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">device_display_name</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
12326
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a><span class="k">def</span> <span class="nf">UI_RACK_VIEW_TRUNCATE_FUNCTION</span><span class="p">(</span><span class="n">device_display_name</span><span class="p">):</span>
12327
+ <a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a> <span class="k">return</span> <span class="nb">str</span><span class="p">(</span><span class="n">device_display_name</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s2">&quot;.&quot;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
11478
12328
  </code></pre></div>
11479
12329
  <p>This setting function is used to perform the rack elevation truncation feature.</p>
11480
12330
  <p>This provides a way to tailor the truncation behavior to best suit the needs of the installation.
@@ -11615,7 +12465,7 @@ in order for the repository to sync.</p>
11615
12465
 
11616
12466
 
11617
12467
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
11618
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
12468
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
11619
12469
  </a>
11620
12470
 
11621
12471
 
@@ -11623,7 +12473,7 @@ in order for the repository to sync.</p>
11623
12473
 
11624
12474
 
11625
12475
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
11626
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
12476
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
11627
12477
  </a>
11628
12478
 
11629
12479
 
@@ -11631,7 +12481,7 @@ in order for the repository to sync.</p>
11631
12481
 
11632
12482
 
11633
12483
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
11634
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
12484
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
11635
12485
  </a>
11636
12486
 
11637
12487
 
@@ -11639,7 +12489,7 @@ in order for the repository to sync.</p>
11639
12489
 
11640
12490
 
11641
12491
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
11642
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
12492
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
11643
12493
  </a>
11644
12494
 
11645
12495
 
@@ -11647,7 +12497,7 @@ in order for the repository to sync.</p>
11647
12497
 
11648
12498
 
11649
12499
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
11650
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
12500
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.6.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 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
11651
12501
  </a>
11652
12502
 
11653
12503
  </div>