nautobot 2.2.9__py3-none-any.whl → 2.3.0b1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (697) 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 +111 -0
  26. nautobot/cloud/filters.py +184 -0
  27. nautobot/cloud/forms.py +333 -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 +247 -0
  32. nautobot/cloud/navigation.py +85 -0
  33. nautobot/cloud/tables.py +173 -0
  34. nautobot/cloud/templates/cloud/cloudaccount_retrieve.html +43 -0
  35. nautobot/cloud/templates/cloud/cloudnetwork_retrieve.html +128 -0
  36. nautobot/cloud/templates/cloud/cloudnetwork_update.html +33 -0
  37. nautobot/cloud/templates/cloud/cloudresourcetype_retrieve.html +100 -0
  38. nautobot/cloud/templates/cloud/cloudservice_retrieve.html +65 -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 +113 -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 +96 -28
  57. nautobot/core/forms/fields.py +10 -4
  58. nautobot/core/forms/forms.py +1 -1
  59. nautobot/core/forms/widgets.py +18 -1
  60. nautobot/core/graphql/generators.py +2 -2
  61. nautobot/core/graphql/schema.py +34 -4
  62. nautobot/core/jobs/__init__.py +17 -6
  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 +4 -30
  73. nautobot/core/settings.yaml +34 -27
  74. nautobot/core/settings_funcs.py +103 -0
  75. nautobot/core/tables.py +127 -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 +13 -23
  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 +51 -13
  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 +123 -74
  120. nautobot/core/tests/test_tables.py +3 -1
  121. nautobot/core/tests/test_templatetags_helpers.py +12 -5
  122. nautobot/core/tests/test_utils.py +31 -20
  123. nautobot/core/tests/test_views.py +6 -6
  124. nautobot/core/urls.py +8 -3
  125. nautobot/core/utils/deprecation.py +29 -0
  126. nautobot/core/utils/filtering.py +12 -9
  127. nautobot/core/utils/lookup.py +37 -2
  128. nautobot/core/utils/requests.py +4 -1
  129. nautobot/core/views/__init__.py +137 -24
  130. nautobot/core/views/generic.py +118 -66
  131. nautobot/core/views/mixins.py +104 -35
  132. nautobot/core/views/paginator.py +9 -3
  133. nautobot/core/views/renderers.py +121 -56
  134. nautobot/core/views/utils.py +79 -1
  135. nautobot/dcim/__init__.py +0 -1
  136. nautobot/dcim/api/serializers.py +180 -44
  137. nautobot/dcim/api/urls.py +7 -3
  138. nautobot/dcim/api/views.py +53 -7
  139. nautobot/dcim/apps.py +3 -0
  140. nautobot/dcim/choices.py +25 -0
  141. nautobot/dcim/constants.py +7 -0
  142. nautobot/dcim/factory.py +249 -18
  143. nautobot/dcim/filters/__init__.py +369 -193
  144. nautobot/dcim/filters/mixins.py +274 -1
  145. nautobot/dcim/forms.py +817 -109
  146. nautobot/dcim/graphql/types.py +2 -2
  147. nautobot/dcim/homepage.py +1 -1
  148. nautobot/dcim/migrations/0059_add_role_field_to_interface_models.py +27 -0
  149. nautobot/dcim/migrations/0060_alter_cable_status_alter_consoleport__path_and_more.py +303 -0
  150. nautobot/dcim/migrations/0061_module_models.py +861 -0
  151. nautobot/dcim/migrations/0062_module_data_migration.py +25 -0
  152. nautobot/dcim/models/__init__.py +8 -0
  153. nautobot/dcim/models/cables.py +15 -0
  154. nautobot/dcim/models/device_component_templates.py +207 -53
  155. nautobot/dcim/models/device_components.py +275 -106
  156. nautobot/dcim/models/devices.py +466 -13
  157. nautobot/dcim/navigation.py +47 -0
  158. nautobot/dcim/signals.py +3 -3
  159. nautobot/dcim/tables/__init__.py +35 -23
  160. nautobot/dcim/tables/devices.py +231 -59
  161. nautobot/dcim/tables/devicetypes.py +65 -9
  162. nautobot/dcim/tables/racks.py +5 -1
  163. nautobot/dcim/tables/template_code.py +46 -26
  164. nautobot/dcim/templates/dcim/cable_connect.html +76 -3
  165. nautobot/dcim/templates/dcim/console_port_connection_list.html +7 -5
  166. nautobot/dcim/templates/dcim/device/base.html +15 -7
  167. nautobot/dcim/templates/dcim/device/consoleports.html +2 -3
  168. nautobot/dcim/templates/dcim/device/consoleserverports.html +2 -3
  169. nautobot/dcim/templates/dcim/device/devicebays.html +6 -7
  170. nautobot/dcim/templates/dcim/device/frontports.html +2 -3
  171. nautobot/dcim/templates/dcim/device/interfaces.html +2 -3
  172. nautobot/dcim/templates/dcim/device/inventory.html +2 -3
  173. nautobot/dcim/templates/dcim/device/modulebays.html +49 -0
  174. nautobot/dcim/templates/dcim/device/poweroutlets.html +2 -3
  175. nautobot/dcim/templates/dcim/device/powerports.html +2 -3
  176. nautobot/dcim/templates/dcim/device/rearports.html +2 -3
  177. nautobot/dcim/templates/dcim/device.html +45 -1
  178. nautobot/dcim/templates/dcim/device_component.html +13 -5
  179. nautobot/dcim/templates/dcim/device_list.html +2 -1
  180. nautobot/dcim/templates/dcim/deviceredundancygroup_retrieve.html +0 -6
  181. nautobot/dcim/templates/dcim/devicetype.html +99 -98
  182. nautobot/dcim/templates/dcim/devicetype_list.html +8 -16
  183. nautobot/dcim/templates/dcim/inc/devicetype_component_table.html +1 -1
  184. nautobot/dcim/templates/dcim/inc/moduletype_component_table.html +39 -0
  185. nautobot/dcim/templates/dcim/interface.html +17 -2
  186. nautobot/dcim/templates/dcim/interface_connection_list.html +7 -5
  187. nautobot/dcim/templates/dcim/interface_edit.html +1 -0
  188. nautobot/dcim/templates/dcim/manufacturer.html +24 -0
  189. nautobot/dcim/templates/dcim/module/base.html +97 -0
  190. nautobot/dcim/templates/dcim/module_bulk_destroy.html +5 -0
  191. nautobot/dcim/templates/dcim/module_consoleports.html +53 -0
  192. nautobot/dcim/templates/dcim/module_consoleserverports.html +53 -0
  193. nautobot/dcim/templates/dcim/module_destroy.html +5 -0
  194. nautobot/dcim/templates/dcim/module_frontports.html +53 -0
  195. nautobot/dcim/templates/dcim/module_interfaces.html +57 -0
  196. nautobot/dcim/templates/dcim/module_list.html +20 -0
  197. nautobot/dcim/templates/dcim/module_modulebays.html +49 -0
  198. nautobot/dcim/templates/dcim/module_poweroutlets.html +53 -0
  199. nautobot/dcim/templates/dcim/module_powerports.html +53 -0
  200. nautobot/dcim/templates/dcim/module_rearports.html +53 -0
  201. nautobot/dcim/templates/dcim/module_retrieve.html +63 -0
  202. nautobot/dcim/templates/dcim/module_update.html +71 -0
  203. nautobot/dcim/templates/dcim/modulebay_bulk_destroy.html +5 -0
  204. nautobot/dcim/templates/dcim/modulebay_destroy.html +8 -0
  205. nautobot/dcim/templates/dcim/modulebay_retrieve.html +101 -0
  206. nautobot/dcim/templates/dcim/moduletype_list.html +11 -0
  207. nautobot/dcim/templates/dcim/moduletype_retrieve.html +142 -0
  208. nautobot/dcim/templates/dcim/power_port_connection_list.html +7 -5
  209. nautobot/dcim/templates/dcim/softwareimagefile_retrieve.html +65 -19
  210. nautobot/dcim/tests/integration/test_cable_connect_form.py +4 -4
  211. nautobot/dcim/tests/test_api.py +691 -208
  212. nautobot/dcim/tests/test_filters.py +836 -217
  213. nautobot/dcim/tests/test_models.py +1072 -39
  214. nautobot/dcim/tests/test_views.py +1488 -358
  215. nautobot/dcim/urls.py +17 -2
  216. nautobot/dcim/utils.py +2 -3
  217. nautobot/dcim/views.py +1107 -120
  218. nautobot/extras/__init__.py +0 -1
  219. nautobot/extras/api/serializers.py +115 -3
  220. nautobot/extras/api/urls.py +12 -0
  221. nautobot/extras/api/views.py +125 -7
  222. nautobot/extras/apps.py +2 -2
  223. nautobot/extras/choices.py +43 -0
  224. nautobot/extras/context_managers.py +13 -8
  225. nautobot/extras/datasources/git.py +2 -0
  226. nautobot/extras/factory.py +422 -9
  227. nautobot/extras/filters/__init__.py +174 -3
  228. nautobot/extras/filters/mixins.py +46 -43
  229. nautobot/extras/forms/base.py +17 -4
  230. nautobot/extras/forms/forms.py +227 -8
  231. nautobot/extras/forms/mixins.py +93 -0
  232. nautobot/extras/graphql/types.py +23 -10
  233. nautobot/extras/homepage.py +16 -13
  234. nautobot/extras/jobs.py +2 -2
  235. nautobot/extras/management/__init__.py +1 -0
  236. nautobot/extras/management/commands/refresh_dynamic_group_member_caches.py +1 -16
  237. nautobot/extras/migrations/0021_customfield_changelog_data.py +1 -0
  238. nautobot/extras/migrations/0109_dynamicgroup_group_type_dynamicgroup_tags_and_more.py +108 -0
  239. nautobot/extras/migrations/0110_alter_configcontext_cluster_groups_and_more.py +111 -0
  240. nautobot/extras/migrations/0111_metadata.py +162 -0
  241. nautobot/extras/migrations/0112_dynamic_group_group_type_data_migration.py +28 -0
  242. nautobot/extras/migrations/0113_saved_views.py +77 -0
  243. nautobot/extras/models/__init__.py +15 -1
  244. nautobot/extras/models/change_logging.py +3 -3
  245. nautobot/extras/models/contacts.py +4 -0
  246. nautobot/extras/models/customfields.py +18 -3
  247. nautobot/extras/models/groups.py +389 -225
  248. nautobot/extras/models/jobs.py +4 -84
  249. nautobot/extras/models/metadata.py +441 -0
  250. nautobot/extras/models/mixins.py +72 -62
  251. nautobot/extras/models/models.py +116 -9
  252. nautobot/extras/models/relationships.py +9 -2
  253. nautobot/extras/models/tags.py +13 -2
  254. nautobot/extras/navigation.py +57 -0
  255. nautobot/extras/plugins/__init__.py +3 -1
  256. nautobot/extras/querysets.py +30 -66
  257. nautobot/extras/signals.py +96 -114
  258. nautobot/extras/tables.py +171 -47
  259. nautobot/extras/templates/extras/dynamicgroup.html +44 -15
  260. nautobot/extras/templates/extras/dynamicgroup_edit.html +2 -0
  261. nautobot/extras/templates/extras/job.html +1 -1
  262. nautobot/extras/templates/extras/job_detail.html +0 -11
  263. nautobot/extras/templates/extras/jobresult.html +61 -74
  264. nautobot/extras/templates/extras/metadatatype_create.html +89 -0
  265. nautobot/extras/templates/extras/metadatatype_retrieve.html +67 -0
  266. nautobot/extras/templates/extras/object_dynamicgroups.html +7 -0
  267. nautobot/extras/templates/extras/objectchange_list.html +0 -12
  268. nautobot/extras/templates/extras/plugins_list.html +1 -3
  269. nautobot/extras/templates/extras/role_retrieve.html +48 -0
  270. nautobot/extras/templates/extras/staticgroupassociation_retrieve.html +20 -0
  271. nautobot/extras/tests/integration/test_customfields.py +1 -0
  272. nautobot/extras/tests/test_api.py +501 -22
  273. nautobot/extras/tests/test_changelog.py +20 -9
  274. nautobot/extras/tests/test_context_managers.py +22 -15
  275. nautobot/extras/tests/test_datasources.py +13 -1
  276. nautobot/extras/tests/test_dynamicgroups.py +201 -171
  277. nautobot/extras/tests/test_filters.py +211 -12
  278. nautobot/extras/tests/test_jobs.py +4 -4
  279. nautobot/extras/tests/test_models.py +499 -4
  280. nautobot/extras/tests/test_relationships.py +1 -0
  281. nautobot/extras/tests/test_views.py +565 -28
  282. nautobot/extras/tests/test_webhooks.py +1 -1
  283. nautobot/extras/urls.py +5 -0
  284. nautobot/extras/utils.py +56 -45
  285. nautobot/extras/views.py +585 -96
  286. nautobot/ipam/__init__.py +0 -1
  287. nautobot/ipam/apps.py +1 -0
  288. nautobot/ipam/factory.py +17 -19
  289. nautobot/ipam/filters.py +14 -1
  290. nautobot/ipam/forms.py +9 -5
  291. nautobot/ipam/graphql/types.py +2 -2
  292. nautobot/ipam/migrations/0047_alter_ipaddress_role_alter_ipaddress_status_and_more.py +59 -0
  293. nautobot/ipam/models.py +23 -9
  294. nautobot/ipam/querysets.py +1 -1
  295. nautobot/ipam/signals.py +4 -2
  296. nautobot/ipam/tables.py +1 -0
  297. nautobot/ipam/templates/ipam/ipaddress_interfaces.html +1 -1
  298. nautobot/ipam/templates/ipam/ipaddress_vm_interfaces.html +1 -1
  299. nautobot/ipam/templates/ipam/prefix.html +1 -0
  300. nautobot/ipam/tests/test_api.py +37 -18
  301. nautobot/ipam/tests/test_filters.py +26 -2
  302. nautobot/ipam/tests/test_models.py +8 -3
  303. nautobot/ipam/tests/test_querysets.py +1 -1
  304. nautobot/ipam/tests/test_views.py +3 -2
  305. nautobot/ipam/urls.py +2 -2
  306. nautobot/ipam/views.py +25 -28
  307. nautobot/project-static/css/base.css +20 -1
  308. nautobot/project-static/css/dark.css +11 -0
  309. nautobot/project-static/docs/404.html +884 -80
  310. nautobot/project-static/docs/apps/index.html +884 -80
  311. nautobot/project-static/docs/apps/nautobot-apps.html +884 -80
  312. nautobot/project-static/docs/assets/_mkdocstrings.css +5 -0
  313. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +911 -112
  314. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +896 -93
  315. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +1457 -790
  316. nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +927 -136
  317. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +969 -180
  318. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +893 -91
  319. nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +889 -85
  320. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +983 -185
  321. nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +938 -143
  322. nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +1064 -274
  323. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +1190 -346
  324. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +1663 -865
  325. nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +1156 -373
  326. nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +2200 -1502
  327. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +2229 -1421
  328. nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +904 -103
  329. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +955 -155
  330. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +1002 -215
  331. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +1911 -1275
  332. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +1835 -1091
  333. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +896 -93
  334. nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +2323 -1693
  335. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +1785 -1023
  336. nautobot/project-static/docs/development/apps/api/configuration-view.html +884 -80
  337. nautobot/project-static/docs/development/apps/api/database-backend-config.html +884 -80
  338. nautobot/project-static/docs/development/apps/api/models/django-admin.html +884 -80
  339. nautobot/project-static/docs/development/apps/api/models/global-search.html +884 -80
  340. nautobot/project-static/docs/development/apps/api/models/graphql.html +884 -80
  341. nautobot/project-static/docs/development/apps/api/models/index.html +922 -81
  342. nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +884 -80
  343. nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +884 -80
  344. nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +884 -80
  345. nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +884 -80
  346. nautobot/project-static/docs/development/apps/api/platform-features/index.html +884 -80
  347. nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +884 -80
  348. nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +884 -80
  349. nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +884 -80
  350. nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +884 -80
  351. nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +884 -80
  352. nautobot/project-static/docs/development/apps/api/prometheus.html +884 -80
  353. nautobot/project-static/docs/development/apps/api/setup.html +884 -80
  354. nautobot/project-static/docs/development/apps/api/testing.html +884 -80
  355. nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +884 -80
  356. nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +884 -80
  357. nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +884 -80
  358. nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +884 -80
  359. nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +884 -80
  360. nautobot/project-static/docs/development/apps/api/views/base-template.html +884 -80
  361. nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +884 -80
  362. nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +884 -80
  363. nautobot/project-static/docs/development/apps/api/views/help-documentation.html +884 -80
  364. nautobot/project-static/docs/development/apps/api/views/index.html +884 -80
  365. nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +884 -80
  366. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +884 -80
  367. nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +884 -80
  368. nautobot/project-static/docs/development/apps/api/views/notes.html +884 -80
  369. nautobot/project-static/docs/development/apps/api/views/rest-api.html +884 -80
  370. nautobot/project-static/docs/development/apps/api/views/urls.html +884 -80
  371. nautobot/project-static/docs/development/apps/index.html +884 -80
  372. nautobot/project-static/docs/development/apps/migration/code-updates.html +884 -80
  373. nautobot/project-static/docs/development/apps/migration/dependency-updates.html +884 -80
  374. nautobot/project-static/docs/development/apps/migration/from-v1.html +884 -80
  375. nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +884 -80
  376. nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +884 -80
  377. nautobot/project-static/docs/development/apps/migration/model-updates/global.html +884 -80
  378. nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +884 -80
  379. nautobot/project-static/docs/development/apps/porting-from-netbox.html +884 -80
  380. nautobot/project-static/docs/development/core/application-registry.html +884 -80
  381. nautobot/project-static/docs/development/core/best-practices.html +885 -80
  382. nautobot/project-static/docs/development/core/bootstrap-ui.html +884 -80
  383. nautobot/project-static/docs/development/core/caching.html +884 -80
  384. nautobot/project-static/docs/development/core/controllers.html +884 -80
  385. nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +884 -80
  386. nautobot/project-static/docs/development/core/generic-views.html +884 -80
  387. nautobot/project-static/docs/development/core/getting-started.html +884 -80
  388. nautobot/project-static/docs/development/core/homepage.html +884 -80
  389. nautobot/project-static/docs/development/core/index.html +884 -91
  390. nautobot/project-static/docs/development/core/model-checklist.html +887 -81
  391. nautobot/project-static/docs/development/core/model-features.html +884 -80
  392. nautobot/project-static/docs/development/core/natural-keys.html +884 -80
  393. nautobot/project-static/docs/development/core/navigation-menu.html +884 -80
  394. nautobot/project-static/docs/development/core/release-checklist.html +887 -83
  395. nautobot/project-static/docs/development/core/role-internals.html +884 -80
  396. nautobot/project-static/docs/development/core/settings.html +884 -80
  397. nautobot/project-static/docs/development/core/style-guide.html +885 -81
  398. nautobot/project-static/docs/development/core/templates.html +896 -81
  399. nautobot/project-static/docs/development/core/testing.html +884 -80
  400. nautobot/project-static/docs/development/core/user-preferences.html +884 -80
  401. nautobot/project-static/docs/development/index.html +884 -80
  402. nautobot/project-static/docs/development/jobs/index.html +1247 -457
  403. nautobot/project-static/docs/development/jobs/migration/from-v1.html +884 -80
  404. nautobot/project-static/docs/index.html +13 -8228
  405. nautobot/project-static/docs/media/models/cloud_aws_direct_connect_dark.png +0 -0
  406. nautobot/project-static/docs/media/models/cloud_aws_direct_connect_light.png +0 -0
  407. nautobot/project-static/docs/models/cloud/cloudaccount.html +15 -0
  408. nautobot/project-static/docs/models/cloud/cloudnetwork.html +15 -0
  409. nautobot/project-static/docs/models/cloud/cloudnetworkprefixassignment.html +15 -0
  410. nautobot/project-static/docs/models/cloud/cloudresourcetype.html +15 -0
  411. nautobot/project-static/docs/models/cloud/cloudservice.html +15 -0
  412. nautobot/project-static/docs/models/cloud/cloudservicenetworkassignment.html +15 -0
  413. nautobot/project-static/docs/models/dcim/module.html +15 -0
  414. nautobot/project-static/docs/models/dcim/modulebay.html +15 -0
  415. nautobot/project-static/docs/models/dcim/modulebaytemplate.html +15 -0
  416. nautobot/project-static/docs/models/dcim/moduletype.html +15 -0
  417. nautobot/project-static/docs/models/extras/metadatachoice.html +15 -0
  418. nautobot/project-static/docs/models/extras/metadatatype.html +15 -0
  419. nautobot/project-static/docs/models/extras/objectmetadata.html +15 -0
  420. nautobot/project-static/docs/models/extras/role.html +15 -0
  421. nautobot/project-static/docs/models/extras/savedview.html +15 -0
  422. nautobot/project-static/docs/models/extras/staticgroupassociation.html +15 -0
  423. nautobot/project-static/docs/models/extras/status.html +15 -0
  424. nautobot/project-static/docs/objects.inv +0 -0
  425. nautobot/project-static/docs/overview/application_stack.html +892 -81
  426. nautobot/project-static/docs/overview/design_philosophy.html +886 -82
  427. nautobot/project-static/docs/overview/index.html +9032 -13
  428. nautobot/project-static/docs/release-notes/index.html +887 -83
  429. nautobot/project-static/docs/release-notes/version-1.0.html +884 -80
  430. nautobot/project-static/docs/release-notes/version-1.1.html +884 -80
  431. nautobot/project-static/docs/release-notes/version-1.2.html +884 -80
  432. nautobot/project-static/docs/release-notes/version-1.3.html +884 -80
  433. nautobot/project-static/docs/release-notes/version-1.4.html +884 -80
  434. nautobot/project-static/docs/release-notes/version-1.5.html +885 -81
  435. nautobot/project-static/docs/release-notes/version-1.6.html +885 -81
  436. nautobot/project-static/docs/release-notes/version-2.0.html +884 -80
  437. nautobot/project-static/docs/release-notes/version-2.1.html +884 -80
  438. nautobot/project-static/docs/release-notes/version-2.2.html +990 -323
  439. nautobot/project-static/docs/release-notes/version-2.3.html +9524 -0
  440. nautobot/project-static/docs/requirements.txt +4 -4
  441. nautobot/project-static/docs/search/search_index.json +1 -1
  442. nautobot/project-static/docs/sitemap.xml +335 -260
  443. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  444. nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +884 -80
  445. nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +884 -80
  446. nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +884 -80
  447. nautobot/project-static/docs/user-guide/administration/configuration/index.html +884 -80
  448. nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +983 -197
  449. nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +884 -80
  450. nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +884 -80
  451. nautobot/project-static/docs/user-guide/administration/guides/caching.html +884 -80
  452. nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +888 -84
  453. nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +884 -80
  454. nautobot/project-static/docs/user-guide/administration/guides/permissions.html +884 -80
  455. nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +884 -80
  456. nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +884 -80
  457. nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +884 -80
  458. nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +884 -80
  459. nautobot/project-static/docs/user-guide/administration/installation/app-install.html +884 -80
  460. nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +884 -80
  461. nautobot/project-static/docs/user-guide/administration/installation/http-server.html +884 -80
  462. nautobot/project-static/docs/user-guide/administration/installation/index.html +888 -80
  463. nautobot/project-static/docs/user-guide/administration/installation/install_system.html +884 -80
  464. nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +884 -80
  465. nautobot/project-static/docs/user-guide/administration/installation/services.html +888 -80
  466. nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +900 -91
  467. nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +884 -80
  468. nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +884 -80
  469. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +884 -80
  470. nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +884 -80
  471. nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +915 -163
  472. nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +884 -80
  473. nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +884 -80
  474. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +884 -80
  475. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +884 -80
  476. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +884 -80
  477. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +884 -80
  478. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +884 -80
  479. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +884 -80
  480. nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +884 -80
  481. nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +884 -80
  482. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +884 -80
  483. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +885 -81
  484. nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +884 -80
  485. nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +888 -80
  486. nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +887 -83
  487. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +8984 -0
  488. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +8828 -0
  489. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +8829 -0
  490. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +8828 -0
  491. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +8829 -0
  492. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +8833 -0
  493. nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +8828 -0
  494. nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +898 -94
  495. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +915 -97
  496. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +915 -97
  497. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +910 -92
  498. nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +915 -97
  499. nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +898 -94
  500. nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +898 -94
  501. nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +905 -97
  502. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +912 -108
  503. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +913 -109
  504. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +910 -106
  505. nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +898 -94
  506. nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +906 -97
  507. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +918 -100
  508. nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +928 -110
  509. nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +920 -98
  510. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +898 -94
  511. nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +929 -111
  512. nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +920 -102
  513. nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +910 -106
  514. nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +913 -109
  515. nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +914 -106
  516. nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +8828 -0
  517. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +8846 -0
  518. nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +8843 -0
  519. nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +8823 -0
  520. nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +908 -104
  521. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +898 -94
  522. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +932 -75
  523. nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +916 -98
  524. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +898 -94
  525. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +935 -78
  526. nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +913 -95
  527. nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +921 -117
  528. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +910 -106
  529. nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +898 -94
  530. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +914 -96
  531. nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +916 -98
  532. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +898 -94
  533. nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +898 -94
  534. nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +898 -94
  535. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +884 -80
  536. nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +884 -80
  537. nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +889 -81
  538. nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +889 -81
  539. nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +884 -80
  540. nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +884 -80
  541. nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +884 -80
  542. nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +884 -80
  543. nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +884 -80
  544. nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +884 -80
  545. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +884 -80
  546. nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +884 -80
  547. nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +884 -80
  548. nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +884 -80
  549. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +893 -88
  550. nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +884 -80
  551. nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +884 -80
  552. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +884 -80
  553. nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +884 -80
  554. nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +884 -80
  555. nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +889 -81
  556. nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +884 -80
  557. nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +884 -80
  558. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +884 -80
  559. nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +884 -80
  560. nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +884 -80
  561. nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +884 -80
  562. nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +884 -80
  563. nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +884 -80
  564. nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +884 -80
  565. nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +884 -80
  566. nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +884 -80
  567. nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +884 -80
  568. nautobot/project-static/docs/user-guide/feature-guides/graphql.html +884 -80
  569. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/clear-view-button.png +0 -0
  570. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/cleared-view.png +0 -0
  571. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/config-table-columns-to-locations.png +0 -0
  572. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/configure-button.png +0 -0
  573. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/create-saved-view-success.png +0 -0
  574. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/current-saved-view-drop-down-menu.png +0 -0
  575. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/default-location-list-view.png +0 -0
  576. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/dropdown-button-after-new-saved-view.png +0 -0
  577. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/filter-application-to-locations.png +0 -0
  578. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/filter-button.png +0 -0
  579. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/global-default-location-list-view.png +0 -0
  580. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/location-list-view-with-saved-views.png +0 -0
  581. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/navigation-menu.png +0 -0
  582. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/save-as-new-view-drop-down.png +0 -0
  583. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/save-view-modal.png +0 -0
  584. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-buttons.png +0 -0
  585. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-success.png +0 -0
  586. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-view-unchecked.png +0 -0
  587. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-admin-edit-view.png +0 -0
  588. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-different-user.png +0 -0
  589. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/saved-view-modal-unchecked.png +0 -0
  590. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/set-as-my-default-button.png +0 -0
  591. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/set-as-my-default-success.png +0 -0
  592. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/unsaved-saved-view.png +0 -0
  593. nautobot/project-static/docs/user-guide/feature-guides/images/saved-views/updated-saved-view.png +0 -0
  594. nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +884 -80
  595. nautobot/project-static/docs/user-guide/feature-guides/relationships.html +884 -80
  596. nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +884 -80
  597. nautobot/project-static/docs/user-guide/index.html +884 -80
  598. nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +884 -80
  599. nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +884 -80
  600. nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +884 -80
  601. nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +884 -80
  602. nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +1250 -777
  603. nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +887 -83
  604. nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +884 -80
  605. nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +884 -80
  606. nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +884 -80
  607. nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +884 -80
  608. nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +884 -80
  609. nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +884 -80
  610. nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +887 -83
  611. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +884 -80
  612. nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +884 -80
  613. nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +888 -80
  614. nautobot/project-static/docs/user-guide/platform-functionality/metadata.html +8948 -0
  615. nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +887 -83
  616. nautobot/project-static/docs/user-guide/platform-functionality/note.html +884 -80
  617. nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +884 -80
  618. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +884 -80
  619. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +884 -80
  620. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +884 -80
  621. nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +884 -80
  622. nautobot/project-static/docs/user-guide/platform-functionality/role.html +887 -83
  623. nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +9137 -0
  624. nautobot/project-static/docs/user-guide/platform-functionality/secret.html +887 -83
  625. nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +8933 -0
  626. nautobot/project-static/docs/user-guide/platform-functionality/status.html +884 -80
  627. nautobot/project-static/docs/user-guide/platform-functionality/tag.html +884 -80
  628. nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +942 -113
  629. nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +884 -80
  630. nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +884 -80
  631. nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +884 -80
  632. nautobot/project-static/js/forms.js +71 -0
  633. nautobot/project-static/js/table_sorting_indicator.js +46 -0
  634. nautobot/project-static/js/tableconfig.js +6 -1
  635. nautobot/project-static/materialdesignicons-7.4.47/css/materialdesignicons.min.css +3 -0
  636. nautobot/project-static/{materialdesignicons-6.5.95 → materialdesignicons-7.4.47}/fonts/materialdesignicons-webfont.eot +0 -0
  637. nautobot/project-static/{materialdesignicons-6.5.95 → materialdesignicons-7.4.47}/fonts/materialdesignicons-webfont.ttf +0 -0
  638. nautobot/project-static/materialdesignicons-7.4.47/fonts/materialdesignicons-webfont.woff +0 -0
  639. nautobot/project-static/materialdesignicons-7.4.47/fonts/materialdesignicons-webfont.woff2 +0 -0
  640. nautobot/tenancy/__init__.py +0 -1
  641. nautobot/tenancy/apps.py +1 -0
  642. nautobot/tenancy/factory.py +3 -2
  643. nautobot/tenancy/filters/__init__.py +1 -0
  644. nautobot/tenancy/forms.py +1 -1
  645. nautobot/tenancy/templates/tenancy/tenant.html +22 -18
  646. nautobot/tenancy/views.py +11 -10
  647. nautobot/users/__init__.py +0 -1
  648. nautobot/users/api/serializers.py +1 -1
  649. nautobot/users/api/views.py +4 -2
  650. nautobot/users/apps.py +3 -2
  651. nautobot/users/factory.py +3 -3
  652. nautobot/users/migrations/0010_user_default_saved_views.py +20 -0
  653. nautobot/users/models.py +12 -0
  654. nautobot/users/tests/test_filters.py +6 -3
  655. nautobot/users/urls.py +8 -0
  656. nautobot/virtualization/__init__.py +0 -1
  657. nautobot/virtualization/apps.py +1 -0
  658. nautobot/virtualization/filters.py +6 -1
  659. nautobot/virtualization/forms.py +11 -3
  660. nautobot/virtualization/graphql/types.py +2 -2
  661. nautobot/virtualization/migrations/0029_add_role_field_to_interface_models.py +27 -0
  662. nautobot/virtualization/migrations/0030_alter_virtualmachine_local_config_context_data_owner_content_type_and_more.py +67 -0
  663. nautobot/virtualization/tables.py +15 -5
  664. nautobot/virtualization/templates/virtualization/virtualmachine.html +1 -1
  665. nautobot/virtualization/templates/virtualization/vminterface.html +7 -1
  666. nautobot/virtualization/templates/virtualization/vminterface_edit.html +1 -0
  667. nautobot/virtualization/tests/test_api.py +9 -4
  668. nautobot/virtualization/tests/test_filters.py +22 -0
  669. nautobot/virtualization/tests/test_models.py +7 -3
  670. nautobot/virtualization/tests/test_views.py +19 -3
  671. nautobot/virtualization/urls.py +2 -2
  672. nautobot/virtualization/views.py +10 -32
  673. {nautobot-2.2.9.dist-info → nautobot-2.3.0b1.dist-info}/METADATA +21 -19
  674. {nautobot-2.2.9.dist-info → nautobot-2.3.0b1.dist-info}/RECORD +679 -559
  675. nautobot/project-static/materialdesignicons-6.5.95/.github/ISSUE_TEMPLATE.md +0 -3
  676. nautobot/project-static/materialdesignicons-6.5.95/README.md +0 -25
  677. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css +0 -26654
  678. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css.map +0 -16
  679. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css +0 -3
  680. nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css.map +0 -16
  681. nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff +0 -0
  682. nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff2 +0 -0
  683. nautobot/project-static/materialdesignicons-6.5.95/package.json +0 -28
  684. nautobot/project-static/materialdesignicons-6.5.95/preview.html +0 -717
  685. nautobot/project-static/materialdesignicons-6.5.95/scss/_animated.scss +0 -27
  686. nautobot/project-static/materialdesignicons-6.5.95/scss/_core.scss +0 -10
  687. nautobot/project-static/materialdesignicons-6.5.95/scss/_extras.scss +0 -65
  688. nautobot/project-static/materialdesignicons-6.5.95/scss/_functions.scss +0 -20
  689. nautobot/project-static/materialdesignicons-6.5.95/scss/_icons.scss +0 -10
  690. nautobot/project-static/materialdesignicons-6.5.95/scss/_path.scss +0 -10
  691. nautobot/project-static/materialdesignicons-6.5.95/scss/_variables.scss +0 -6606
  692. nautobot/project-static/materialdesignicons-6.5.95/scss/materialdesignicons.scss +0 -8
  693. /nautobot/project-static/{materialdesignicons-6.5.95 → materialdesignicons-7.4.47}/LICENSE +0 -0
  694. {nautobot-2.2.9.dist-info → nautobot-2.3.0b1.dist-info}/LICENSE.txt +0 -0
  695. {nautobot-2.2.9.dist-info → nautobot-2.3.0b1.dist-info}/NOTICE +0 -0
  696. {nautobot-2.2.9.dist-info → nautobot-2.3.0b1.dist-info}/WHEEL +0 -0
  697. {nautobot-2.2.9.dist-info → nautobot-2.3.0b1.dist-info}/entry_points.txt +0 -0
@@ -238,7 +238,7 @@
238
238
 
239
239
 
240
240
  <li class="md-tabs__item">
241
- <a href="../../../index.html" class="md-tabs__link">
241
+ <a href="../../../overview/index.html" class="md-tabs__link">
242
242
 
243
243
 
244
244
 
@@ -409,7 +409,7 @@
409
409
 
410
410
 
411
411
  <div class="md-nav__link md-nav__container">
412
- <a href="../../../index.html" class="md-nav__link ">
412
+ <a href="../../../overview/index.html" class="md-nav__link ">
413
413
 
414
414
 
415
415
  <span class="md-ellipsis">
@@ -1582,15 +1582,6 @@
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
-
1594
1585
  </li>
1595
1586
 
1596
1587
  <li class="md-nav__item">
@@ -1735,15 +1726,6 @@
1735
1726
  </span>
1736
1727
  </a>
1737
1728
 
1738
- </li>
1739
-
1740
- <li class="md-nav__item">
1741
- <a href="#dynamic_groups_member_cache_timeout" class="md-nav__link">
1742
- <span class="md-ellipsis">
1743
- DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT
1744
- </span>
1745
- </a>
1746
-
1747
1729
  </li>
1748
1730
 
1749
1731
  <li class="md-nav__item">
@@ -1907,6 +1889,15 @@
1907
1889
  </span>
1908
1890
  </a>
1909
1891
 
1892
+ </li>
1893
+
1894
+ <li class="md-nav__item">
1895
+ <a href="#structlog-configuration" class="md-nav__link">
1896
+ <span class="md-ellipsis">
1897
+ Structlog Configuration
1898
+ </span>
1899
+ </a>
1900
+
1910
1901
  </li>
1911
1902
 
1912
1903
  </ul>
@@ -3514,7 +3505,187 @@
3514
3505
  <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3" >
3515
3506
 
3516
3507
 
3517
- <label class="md-nav__link" for="__nav_2_3_3" id="__nav_2_3_3_label" tabindex="0">
3508
+
3509
+ <div class="md-nav__link md-nav__container">
3510
+ <a href="../../core-data-model/cloud/cloud.html" class="md-nav__link ">
3511
+
3512
+
3513
+ <span class="md-ellipsis">
3514
+ Cloud
3515
+ </span>
3516
+
3517
+
3518
+ </a>
3519
+
3520
+
3521
+ <label class="md-nav__link " for="__nav_2_3_3" id="__nav_2_3_3_label" tabindex="0">
3522
+ <span class="md-nav__icon md-icon"></span>
3523
+ </label>
3524
+
3525
+ </div>
3526
+
3527
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_3_label" aria-expanded="false">
3528
+ <label class="md-nav__title" for="__nav_2_3_3">
3529
+ <span class="md-nav__icon md-icon"></span>
3530
+ Cloud
3531
+ </label>
3532
+ <ul class="md-nav__list" data-md-scrollfix>
3533
+
3534
+
3535
+
3536
+
3537
+
3538
+
3539
+
3540
+ <li class="md-nav__item">
3541
+ <a href="../../core-data-model/cloud/cloudaccount.html" class="md-nav__link">
3542
+
3543
+
3544
+ <span class="md-ellipsis">
3545
+ Cloud Account
3546
+ </span>
3547
+
3548
+
3549
+ </a>
3550
+ </li>
3551
+
3552
+
3553
+
3554
+
3555
+
3556
+
3557
+
3558
+
3559
+
3560
+
3561
+ <li class="md-nav__item">
3562
+ <a href="../../core-data-model/cloud/cloudnetwork.html" class="md-nav__link">
3563
+
3564
+
3565
+ <span class="md-ellipsis">
3566
+ Cloud Network
3567
+ </span>
3568
+
3569
+
3570
+ </a>
3571
+ </li>
3572
+
3573
+
3574
+
3575
+
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+
3582
+ <li class="md-nav__item">
3583
+ <a href="../../core-data-model/cloud/cloudnetworkprefixassignment.html" class="md-nav__link">
3584
+
3585
+
3586
+ <span class="md-ellipsis">
3587
+ Cloud Network Prefix Assignment
3588
+ </span>
3589
+
3590
+
3591
+ </a>
3592
+ </li>
3593
+
3594
+
3595
+
3596
+
3597
+
3598
+
3599
+
3600
+
3601
+
3602
+
3603
+ <li class="md-nav__item">
3604
+ <a href="../../core-data-model/cloud/cloudresourcetype.html" class="md-nav__link">
3605
+
3606
+
3607
+ <span class="md-ellipsis">
3608
+ Cloud Resource Type
3609
+ </span>
3610
+
3611
+
3612
+ </a>
3613
+ </li>
3614
+
3615
+
3616
+
3617
+
3618
+
3619
+
3620
+
3621
+
3622
+
3623
+
3624
+ <li class="md-nav__item">
3625
+ <a href="../../core-data-model/cloud/cloudservice.html" class="md-nav__link">
3626
+
3627
+
3628
+ <span class="md-ellipsis">
3629
+ Cloud Service
3630
+ </span>
3631
+
3632
+
3633
+ </a>
3634
+ </li>
3635
+
3636
+
3637
+
3638
+
3639
+
3640
+
3641
+
3642
+
3643
+
3644
+
3645
+ <li class="md-nav__item">
3646
+ <a href="../../core-data-model/cloud/cloudservicenetworkassignment.html" class="md-nav__link">
3647
+
3648
+
3649
+ <span class="md-ellipsis">
3650
+ Cloud Service Network Assignment
3651
+ </span>
3652
+
3653
+
3654
+ </a>
3655
+ </li>
3656
+
3657
+
3658
+
3659
+
3660
+ </ul>
3661
+ </nav>
3662
+
3663
+ </li>
3664
+
3665
+
3666
+
3667
+
3668
+
3669
+
3670
+
3671
+
3672
+
3673
+
3674
+
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+
3681
+ <li class="md-nav__item md-nav__item--nested">
3682
+
3683
+
3684
+
3685
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4" >
3686
+
3687
+
3688
+ <label class="md-nav__link" for="__nav_2_3_4" id="__nav_2_3_4_label" tabindex="0">
3518
3689
 
3519
3690
 
3520
3691
  <span class="md-ellipsis">
@@ -3522,15 +3693,514 @@
3522
3693
  </span>
3523
3694
 
3524
3695
 
3525
- <span class="md-nav__icon md-icon"></span>
3526
- </label>
3527
-
3528
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_3_label" aria-expanded="false">
3529
- <label class="md-nav__title" for="__nav_2_3_3">
3530
- <span class="md-nav__icon md-icon"></span>
3531
- DCIM
3532
- </label>
3533
- <ul class="md-nav__list" data-md-scrollfix>
3696
+ <span class="md-nav__icon md-icon"></span>
3697
+ </label>
3698
+
3699
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_4_label" aria-expanded="false">
3700
+ <label class="md-nav__title" for="__nav_2_3_4">
3701
+ <span class="md-nav__icon md-icon"></span>
3702
+ DCIM
3703
+ </label>
3704
+ <ul class="md-nav__list" data-md-scrollfix>
3705
+
3706
+
3707
+
3708
+
3709
+
3710
+
3711
+
3712
+ <li class="md-nav__item">
3713
+ <a href="../../core-data-model/dcim/locationtype.html" class="md-nav__link">
3714
+
3715
+
3716
+ <span class="md-ellipsis">
3717
+ Location Type
3718
+ </span>
3719
+
3720
+
3721
+ </a>
3722
+ </li>
3723
+
3724
+
3725
+
3726
+
3727
+
3728
+
3729
+
3730
+
3731
+
3732
+
3733
+ <li class="md-nav__item">
3734
+ <a href="../../core-data-model/dcim/location.html" class="md-nav__link">
3735
+
3736
+
3737
+ <span class="md-ellipsis">
3738
+ Location
3739
+ </span>
3740
+
3741
+
3742
+ </a>
3743
+ </li>
3744
+
3745
+
3746
+
3747
+
3748
+
3749
+
3750
+
3751
+
3752
+
3753
+
3754
+ <li class="md-nav__item">
3755
+ <a href="../../core-data-model/dcim/rackgroup.html" class="md-nav__link">
3756
+
3757
+
3758
+ <span class="md-ellipsis">
3759
+ Rack Group
3760
+ </span>
3761
+
3762
+
3763
+ </a>
3764
+ </li>
3765
+
3766
+
3767
+
3768
+
3769
+
3770
+
3771
+
3772
+
3773
+
3774
+
3775
+ <li class="md-nav__item">
3776
+ <a href="../../core-data-model/dcim/rack.html" class="md-nav__link">
3777
+
3778
+
3779
+ <span class="md-ellipsis">
3780
+ Rack
3781
+ </span>
3782
+
3783
+
3784
+ </a>
3785
+ </li>
3786
+
3787
+
3788
+
3789
+
3790
+
3791
+
3792
+
3793
+
3794
+
3795
+
3796
+ <li class="md-nav__item">
3797
+ <a href="../../core-data-model/dcim/manufacturer.html" class="md-nav__link">
3798
+
3799
+
3800
+ <span class="md-ellipsis">
3801
+ Manufacturer
3802
+ </span>
3803
+
3804
+
3805
+ </a>
3806
+ </li>
3807
+
3808
+
3809
+
3810
+
3811
+
3812
+
3813
+
3814
+
3815
+
3816
+
3817
+ <li class="md-nav__item">
3818
+ <a href="../../core-data-model/dcim/devicefamily.html" class="md-nav__link">
3819
+
3820
+
3821
+ <span class="md-ellipsis">
3822
+ Device Family
3823
+ </span>
3824
+
3825
+
3826
+ </a>
3827
+ </li>
3828
+
3829
+
3830
+
3831
+
3832
+
3833
+
3834
+
3835
+
3836
+
3837
+
3838
+ <li class="md-nav__item">
3839
+ <a href="../../core-data-model/dcim/platform.html" class="md-nav__link">
3840
+
3841
+
3842
+ <span class="md-ellipsis">
3843
+ Platform
3844
+ </span>
3845
+
3846
+
3847
+ </a>
3848
+ </li>
3849
+
3850
+
3851
+
3852
+
3853
+
3854
+
3855
+
3856
+
3857
+
3858
+
3859
+
3860
+
3861
+
3862
+
3863
+
3864
+
3865
+
3866
+ <li class="md-nav__item md-nav__item--nested">
3867
+
3868
+
3869
+
3870
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_8" >
3871
+
3872
+
3873
+
3874
+ <div class="md-nav__link md-nav__container">
3875
+ <a href="../../core-data-model/dcim/devicetype.html" class="md-nav__link ">
3876
+
3877
+
3878
+ <span class="md-ellipsis">
3879
+ Device Type
3880
+ </span>
3881
+
3882
+
3883
+ </a>
3884
+
3885
+
3886
+ <label class="md-nav__link " for="__nav_2_3_4_8" id="__nav_2_3_4_8_label" tabindex="0">
3887
+ <span class="md-nav__icon md-icon"></span>
3888
+ </label>
3889
+
3890
+ </div>
3891
+
3892
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_8_label" aria-expanded="false">
3893
+ <label class="md-nav__title" for="__nav_2_3_4_8">
3894
+ <span class="md-nav__icon md-icon"></span>
3895
+ Device Type
3896
+ </label>
3897
+ <ul class="md-nav__list" data-md-scrollfix>
3898
+
3899
+
3900
+
3901
+
3902
+
3903
+
3904
+
3905
+ <li class="md-nav__item">
3906
+ <a href="../../core-data-model/dcim/consoleporttemplate.html" class="md-nav__link">
3907
+
3908
+
3909
+ <span class="md-ellipsis">
3910
+ Console Port Template
3911
+ </span>
3912
+
3913
+
3914
+ </a>
3915
+ </li>
3916
+
3917
+
3918
+
3919
+
3920
+
3921
+
3922
+
3923
+
3924
+
3925
+
3926
+ <li class="md-nav__item">
3927
+ <a href="../../core-data-model/dcim/consoleserverporttemplate.html" class="md-nav__link">
3928
+
3929
+
3930
+ <span class="md-ellipsis">
3931
+ Console Server Port Template
3932
+ </span>
3933
+
3934
+
3935
+ </a>
3936
+ </li>
3937
+
3938
+
3939
+
3940
+
3941
+
3942
+
3943
+
3944
+
3945
+
3946
+
3947
+ <li class="md-nav__item">
3948
+ <a href="../../core-data-model/dcim/devicebaytemplate.html" class="md-nav__link">
3949
+
3950
+
3951
+ <span class="md-ellipsis">
3952
+ Device Bay Template
3953
+ </span>
3954
+
3955
+
3956
+ </a>
3957
+ </li>
3958
+
3959
+
3960
+
3961
+
3962
+
3963
+
3964
+
3965
+
3966
+
3967
+
3968
+ <li class="md-nav__item">
3969
+ <a href="../../core-data-model/dcim/frontporttemplate.html" class="md-nav__link">
3970
+
3971
+
3972
+ <span class="md-ellipsis">
3973
+ Front Port Template
3974
+ </span>
3975
+
3976
+
3977
+ </a>
3978
+ </li>
3979
+
3980
+
3981
+
3982
+
3983
+
3984
+
3985
+
3986
+
3987
+
3988
+
3989
+ <li class="md-nav__item">
3990
+ <a href="../../core-data-model/dcim/interfacetemplate.html" class="md-nav__link">
3991
+
3992
+
3993
+ <span class="md-ellipsis">
3994
+ Interface Template
3995
+ </span>
3996
+
3997
+
3998
+ </a>
3999
+ </li>
4000
+
4001
+
4002
+
4003
+
4004
+
4005
+
4006
+
4007
+
4008
+
4009
+
4010
+ <li class="md-nav__item">
4011
+ <a href="../../core-data-model/dcim/modulebaytemplate.html" class="md-nav__link">
4012
+
4013
+
4014
+ <span class="md-ellipsis">
4015
+ Module Bay Template
4016
+ </span>
4017
+
4018
+
4019
+ </a>
4020
+ </li>
4021
+
4022
+
4023
+
4024
+
4025
+
4026
+
4027
+
4028
+
4029
+
4030
+
4031
+ <li class="md-nav__item">
4032
+ <a href="../../core-data-model/dcim/poweroutlettemplate.html" class="md-nav__link">
4033
+
4034
+
4035
+ <span class="md-ellipsis">
4036
+ Power Outlet Template
4037
+ </span>
4038
+
4039
+
4040
+ </a>
4041
+ </li>
4042
+
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+
4049
+
4050
+
4051
+
4052
+ <li class="md-nav__item">
4053
+ <a href="../../core-data-model/dcim/powerporttemplate.html" class="md-nav__link">
4054
+
4055
+
4056
+ <span class="md-ellipsis">
4057
+ Power Port Template
4058
+ </span>
4059
+
4060
+
4061
+ </a>
4062
+ </li>
4063
+
4064
+
4065
+
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+ <li class="md-nav__item">
4074
+ <a href="../../core-data-model/dcim/rearporttemplate.html" class="md-nav__link">
4075
+
4076
+
4077
+ <span class="md-ellipsis">
4078
+ Rear Port Template
4079
+ </span>
4080
+
4081
+
4082
+ </a>
4083
+ </li>
4084
+
4085
+
4086
+
4087
+
4088
+ </ul>
4089
+ </nav>
4090
+
4091
+ </li>
4092
+
4093
+
4094
+
4095
+
4096
+
4097
+
4098
+
4099
+
4100
+
4101
+
4102
+
4103
+
4104
+
4105
+
4106
+
4107
+
4108
+
4109
+ <li class="md-nav__item md-nav__item--nested">
4110
+
4111
+
4112
+
4113
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_9" >
4114
+
4115
+
4116
+
4117
+ <div class="md-nav__link md-nav__container">
4118
+ <a href="../../core-data-model/dcim/device.html" class="md-nav__link ">
4119
+
4120
+
4121
+ <span class="md-ellipsis">
4122
+ Device
4123
+ </span>
4124
+
4125
+
4126
+ </a>
4127
+
4128
+
4129
+ <label class="md-nav__link " for="__nav_2_3_4_9" id="__nav_2_3_4_9_label" tabindex="0">
4130
+ <span class="md-nav__icon md-icon"></span>
4131
+ </label>
4132
+
4133
+ </div>
4134
+
4135
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_9_label" aria-expanded="false">
4136
+ <label class="md-nav__title" for="__nav_2_3_4_9">
4137
+ <span class="md-nav__icon md-icon"></span>
4138
+ Device
4139
+ </label>
4140
+ <ul class="md-nav__list" data-md-scrollfix>
4141
+
4142
+
4143
+
4144
+
4145
+
4146
+
4147
+
4148
+ <li class="md-nav__item">
4149
+ <a href="../../core-data-model/dcim/consoleport.html" class="md-nav__link">
4150
+
4151
+
4152
+ <span class="md-ellipsis">
4153
+ Console Port
4154
+ </span>
4155
+
4156
+
4157
+ </a>
4158
+ </li>
4159
+
4160
+
4161
+
4162
+
4163
+
4164
+
4165
+
4166
+
4167
+
4168
+
4169
+ <li class="md-nav__item">
4170
+ <a href="../../core-data-model/dcim/consoleserverport.html" class="md-nav__link">
4171
+
4172
+
4173
+ <span class="md-ellipsis">
4174
+ Console Server Port
4175
+ </span>
4176
+
4177
+
4178
+ </a>
4179
+ </li>
4180
+
4181
+
4182
+
4183
+
4184
+
4185
+
4186
+
4187
+
4188
+
4189
+
4190
+ <li class="md-nav__item">
4191
+ <a href="../../core-data-model/dcim/devicebay.html" class="md-nav__link">
4192
+
4193
+
4194
+ <span class="md-ellipsis">
4195
+ Device Bay
4196
+ </span>
4197
+
4198
+
4199
+ </a>
4200
+ </li>
4201
+
4202
+
4203
+
3534
4204
 
3535
4205
 
3536
4206
 
@@ -3539,11 +4209,11 @@
3539
4209
 
3540
4210
 
3541
4211
  <li class="md-nav__item">
3542
- <a href="../../core-data-model/dcim/locationtype.html" class="md-nav__link">
4212
+ <a href="../../core-data-model/dcim/frontport.html" class="md-nav__link">
3543
4213
 
3544
4214
 
3545
4215
  <span class="md-ellipsis">
3546
- Location Type
4216
+ Front Port
3547
4217
  </span>
3548
4218
 
3549
4219
 
@@ -3560,11 +4230,11 @@
3560
4230
 
3561
4231
 
3562
4232
  <li class="md-nav__item">
3563
- <a href="../../core-data-model/dcim/location.html" class="md-nav__link">
4233
+ <a href="../../core-data-model/dcim/interface.html" class="md-nav__link">
3564
4234
 
3565
4235
 
3566
4236
  <span class="md-ellipsis">
3567
- Location
4237
+ Interface
3568
4238
  </span>
3569
4239
 
3570
4240
 
@@ -3581,11 +4251,11 @@
3581
4251
 
3582
4252
 
3583
4253
  <li class="md-nav__item">
3584
- <a href="../../core-data-model/dcim/rackgroup.html" class="md-nav__link">
4254
+ <a href="../../core-data-model/dcim/inventoryitem.html" class="md-nav__link">
3585
4255
 
3586
4256
 
3587
4257
  <span class="md-ellipsis">
3588
- Rack Group
4258
+ Inventory Item
3589
4259
  </span>
3590
4260
 
3591
4261
 
@@ -3602,11 +4272,11 @@
3602
4272
 
3603
4273
 
3604
4274
  <li class="md-nav__item">
3605
- <a href="../../core-data-model/dcim/rack.html" class="md-nav__link">
4275
+ <a href="../../core-data-model/dcim/modulebay.html" class="md-nav__link">
3606
4276
 
3607
4277
 
3608
4278
  <span class="md-ellipsis">
3609
- Rack
4279
+ Module Bay
3610
4280
  </span>
3611
4281
 
3612
4282
 
@@ -3623,11 +4293,11 @@
3623
4293
 
3624
4294
 
3625
4295
  <li class="md-nav__item">
3626
- <a href="../../core-data-model/dcim/manufacturer.html" class="md-nav__link">
4296
+ <a href="../../core-data-model/dcim/powerport.html" class="md-nav__link">
3627
4297
 
3628
4298
 
3629
4299
  <span class="md-ellipsis">
3630
- Manufacturer
4300
+ Power Port
3631
4301
  </span>
3632
4302
 
3633
4303
 
@@ -3644,11 +4314,11 @@
3644
4314
 
3645
4315
 
3646
4316
  <li class="md-nav__item">
3647
- <a href="../../core-data-model/dcim/devicefamily.html" class="md-nav__link">
4317
+ <a href="../../core-data-model/dcim/poweroutlet.html" class="md-nav__link">
3648
4318
 
3649
4319
 
3650
4320
  <span class="md-ellipsis">
3651
- Device Family
4321
+ Power Outlet
3652
4322
  </span>
3653
4323
 
3654
4324
 
@@ -3665,11 +4335,11 @@
3665
4335
 
3666
4336
 
3667
4337
  <li class="md-nav__item">
3668
- <a href="../../core-data-model/dcim/platform.html" class="md-nav__link">
4338
+ <a href="../../core-data-model/dcim/rearport.html" class="md-nav__link">
3669
4339
 
3670
4340
 
3671
4341
  <span class="md-ellipsis">
3672
- Platform
4342
+ Rear Port
3673
4343
  </span>
3674
4344
 
3675
4345
 
@@ -3679,6 +4349,14 @@
3679
4349
 
3680
4350
 
3681
4351
 
4352
+ </ul>
4353
+ </nav>
4354
+
4355
+ </li>
4356
+
4357
+
4358
+
4359
+
3682
4360
 
3683
4361
 
3684
4362
 
@@ -3696,32 +4374,32 @@
3696
4374
 
3697
4375
 
3698
4376
 
3699
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3_8" >
4377
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_10" >
3700
4378
 
3701
4379
 
3702
4380
 
3703
4381
  <div class="md-nav__link md-nav__container">
3704
- <a href="../../core-data-model/dcim/devicetype.html" class="md-nav__link ">
4382
+ <a href="../../core-data-model/dcim/moduletype.html" class="md-nav__link ">
3705
4383
 
3706
4384
 
3707
4385
  <span class="md-ellipsis">
3708
- Device Type
4386
+ Module Type
3709
4387
  </span>
3710
4388
 
3711
4389
 
3712
4390
  </a>
3713
4391
 
3714
4392
 
3715
- <label class="md-nav__link " for="__nav_2_3_3_8" id="__nav_2_3_3_8_label" tabindex="0">
4393
+ <label class="md-nav__link " for="__nav_2_3_4_10" id="__nav_2_3_4_10_label" tabindex="0">
3716
4394
  <span class="md-nav__icon md-icon"></span>
3717
4395
  </label>
3718
4396
 
3719
4397
  </div>
3720
4398
 
3721
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_3_8_label" aria-expanded="false">
3722
- <label class="md-nav__title" for="__nav_2_3_3_8">
4399
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_10_label" aria-expanded="false">
4400
+ <label class="md-nav__title" for="__nav_2_3_4_10">
3723
4401
  <span class="md-nav__icon md-icon"></span>
3724
- Device Type
4402
+ Module Type
3725
4403
  </label>
3726
4404
  <ul class="md-nav__list" data-md-scrollfix>
3727
4405
 
@@ -3774,11 +4452,11 @@
3774
4452
 
3775
4453
 
3776
4454
  <li class="md-nav__item">
3777
- <a href="../../core-data-model/dcim/devicebaytemplate.html" class="md-nav__link">
4455
+ <a href="../../core-data-model/dcim/frontporttemplate.html" class="md-nav__link">
3778
4456
 
3779
4457
 
3780
4458
  <span class="md-ellipsis">
3781
- Device Bay Template
4459
+ Front Port Template
3782
4460
  </span>
3783
4461
 
3784
4462
 
@@ -3795,11 +4473,11 @@
3795
4473
 
3796
4474
 
3797
4475
  <li class="md-nav__item">
3798
- <a href="../../core-data-model/dcim/frontporttemplate.html" class="md-nav__link">
4476
+ <a href="../../core-data-model/dcim/interfacetemplate.html" class="md-nav__link">
3799
4477
 
3800
4478
 
3801
4479
  <span class="md-ellipsis">
3802
- Front Port Template
4480
+ Interface Template
3803
4481
  </span>
3804
4482
 
3805
4483
 
@@ -3816,11 +4494,11 @@
3816
4494
 
3817
4495
 
3818
4496
  <li class="md-nav__item">
3819
- <a href="../../core-data-model/dcim/interfacetemplate.html" class="md-nav__link">
4497
+ <a href="../../core-data-model/dcim/modulebaytemplate.html" class="md-nav__link">
3820
4498
 
3821
4499
 
3822
4500
  <span class="md-ellipsis">
3823
- Interface Template
4501
+ Module Bay Template
3824
4502
  </span>
3825
4503
 
3826
4504
 
@@ -3918,32 +4596,32 @@
3918
4596
 
3919
4597
 
3920
4598
 
3921
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_3_9" >
4599
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4_11" >
3922
4600
 
3923
4601
 
3924
4602
 
3925
4603
  <div class="md-nav__link md-nav__container">
3926
- <a href="../../core-data-model/dcim/device.html" class="md-nav__link ">
4604
+ <a href="../../core-data-model/dcim/module.html" class="md-nav__link ">
3927
4605
 
3928
4606
 
3929
4607
  <span class="md-ellipsis">
3930
- Device
4608
+ Module
3931
4609
  </span>
3932
4610
 
3933
4611
 
3934
4612
  </a>
3935
4613
 
3936
4614
 
3937
- <label class="md-nav__link " for="__nav_2_3_3_9" id="__nav_2_3_3_9_label" tabindex="0">
4615
+ <label class="md-nav__link " for="__nav_2_3_4_11" id="__nav_2_3_4_11_label" tabindex="0">
3938
4616
  <span class="md-nav__icon md-icon"></span>
3939
4617
  </label>
3940
4618
 
3941
4619
  </div>
3942
4620
 
3943
- <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_3_9_label" aria-expanded="false">
3944
- <label class="md-nav__title" for="__nav_2_3_3_9">
4621
+ <nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_3_4_11_label" aria-expanded="false">
4622
+ <label class="md-nav__title" for="__nav_2_3_4_11">
3945
4623
  <span class="md-nav__icon md-icon"></span>
3946
- Device
4624
+ Module
3947
4625
  </label>
3948
4626
  <ul class="md-nav__list" data-md-scrollfix>
3949
4627
 
@@ -3996,11 +4674,11 @@
3996
4674
 
3997
4675
 
3998
4676
  <li class="md-nav__item">
3999
- <a href="../../core-data-model/dcim/devicebay.html" class="md-nav__link">
4677
+ <a href="../../core-data-model/dcim/frontport.html" class="md-nav__link">
4000
4678
 
4001
4679
 
4002
4680
  <span class="md-ellipsis">
4003
- Device Bay
4681
+ Front Port
4004
4682
  </span>
4005
4683
 
4006
4684
 
@@ -4017,11 +4695,11 @@
4017
4695
 
4018
4696
 
4019
4697
  <li class="md-nav__item">
4020
- <a href="../../core-data-model/dcim/frontport.html" class="md-nav__link">
4698
+ <a href="../../core-data-model/dcim/interface.html" class="md-nav__link">
4021
4699
 
4022
4700
 
4023
4701
  <span class="md-ellipsis">
4024
- Front Port
4702
+ Interface
4025
4703
  </span>
4026
4704
 
4027
4705
 
@@ -4038,11 +4716,11 @@
4038
4716
 
4039
4717
 
4040
4718
  <li class="md-nav__item">
4041
- <a href="../../core-data-model/dcim/interface.html" class="md-nav__link">
4719
+ <a href="../../core-data-model/dcim/inventoryitem.html" class="md-nav__link">
4042
4720
 
4043
4721
 
4044
4722
  <span class="md-ellipsis">
4045
- Interface
4723
+ Inventory Item
4046
4724
  </span>
4047
4725
 
4048
4726
 
@@ -4059,11 +4737,11 @@
4059
4737
 
4060
4738
 
4061
4739
  <li class="md-nav__item">
4062
- <a href="../../core-data-model/dcim/inventoryitem.html" class="md-nav__link">
4740
+ <a href="../../core-data-model/dcim/modulebay.html" class="md-nav__link">
4063
4741
 
4064
4742
 
4065
4743
  <span class="md-ellipsis">
4066
- Inventory Item
4744
+ Module Bay
4067
4745
  </span>
4068
4746
 
4069
4747
 
@@ -4400,10 +5078,10 @@
4400
5078
 
4401
5079
 
4402
5080
 
4403
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_4" >
5081
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_5" >
4404
5082
 
4405
5083
 
4406
- <label class="md-nav__link" for="__nav_2_3_4" id="__nav_2_3_4_label" tabindex="0">
5084
+ <label class="md-nav__link" for="__nav_2_3_5" id="__nav_2_3_5_label" tabindex="0">
4407
5085
 
4408
5086
 
4409
5087
  <span class="md-ellipsis">
@@ -4414,8 +5092,8 @@
4414
5092
  <span class="md-nav__icon md-icon"></span>
4415
5093
  </label>
4416
5094
 
4417
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_4_label" aria-expanded="false">
4418
- <label class="md-nav__title" for="__nav_2_3_4">
5095
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_5_label" aria-expanded="false">
5096
+ <label class="md-nav__title" for="__nav_2_3_5">
4419
5097
  <span class="md-nav__icon md-icon"></span>
4420
5098
  Extras
4421
5099
  </label>
@@ -4530,10 +5208,10 @@
4530
5208
 
4531
5209
 
4532
5210
 
4533
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_5" >
5211
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_6" >
4534
5212
 
4535
5213
 
4536
- <label class="md-nav__link" for="__nav_2_3_5" id="__nav_2_3_5_label" tabindex="0">
5214
+ <label class="md-nav__link" for="__nav_2_3_6" id="__nav_2_3_6_label" tabindex="0">
4537
5215
 
4538
5216
 
4539
5217
  <span class="md-ellipsis">
@@ -4544,8 +5222,8 @@
4544
5222
  <span class="md-nav__icon md-icon"></span>
4545
5223
  </label>
4546
5224
 
4547
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_5_label" aria-expanded="false">
4548
- <label class="md-nav__title" for="__nav_2_3_5">
5225
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_6_label" aria-expanded="false">
5226
+ <label class="md-nav__title" for="__nav_2_3_6">
4549
5227
  <span class="md-nav__icon md-icon"></span>
4550
5228
  IPAM
4551
5229
  </label>
@@ -4765,10 +5443,10 @@
4765
5443
 
4766
5444
 
4767
5445
 
4768
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_6" >
5446
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_7" >
4769
5447
 
4770
5448
 
4771
- <label class="md-nav__link" for="__nav_2_3_6" id="__nav_2_3_6_label" tabindex="0">
5449
+ <label class="md-nav__link" for="__nav_2_3_7" id="__nav_2_3_7_label" tabindex="0">
4772
5450
 
4773
5451
 
4774
5452
  <span class="md-ellipsis">
@@ -4779,8 +5457,8 @@
4779
5457
  <span class="md-nav__icon md-icon"></span>
4780
5458
  </label>
4781
5459
 
4782
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_6_label" aria-expanded="false">
4783
- <label class="md-nav__title" for="__nav_2_3_6">
5460
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_7_label" aria-expanded="false">
5461
+ <label class="md-nav__title" for="__nav_2_3_7">
4784
5462
  <span class="md-nav__icon md-icon"></span>
4785
5463
  Tenancy
4786
5464
  </label>
@@ -4853,10 +5531,10 @@
4853
5531
 
4854
5532
 
4855
5533
 
4856
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_7" >
5534
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_8" >
4857
5535
 
4858
5536
 
4859
- <label class="md-nav__link" for="__nav_2_3_7" id="__nav_2_3_7_label" tabindex="0">
5537
+ <label class="md-nav__link" for="__nav_2_3_8" id="__nav_2_3_8_label" tabindex="0">
4860
5538
 
4861
5539
 
4862
5540
  <span class="md-ellipsis">
@@ -4867,8 +5545,8 @@
4867
5545
  <span class="md-nav__icon md-icon"></span>
4868
5546
  </label>
4869
5547
 
4870
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_7_label" aria-expanded="false">
4871
- <label class="md-nav__title" for="__nav_2_3_7">
5548
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_8_label" aria-expanded="false">
5549
+ <label class="md-nav__title" for="__nav_2_3_8">
4872
5550
  <span class="md-nav__icon md-icon"></span>
4873
5551
  Virtualization
4874
5552
  </label>
@@ -5123,21 +5801,75 @@
5123
5801
 
5124
5802
 
5125
5803
 
5126
- <li class="md-nav__item">
5127
- <a href="../../platform-functionality/dynamicgroup.html" class="md-nav__link">
5804
+
5805
+
5806
+
5807
+
5808
+
5809
+
5810
+
5811
+ <li class="md-nav__item md-nav__item--nested">
5812
+
5813
+
5128
5814
 
5815
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_5" >
5816
+
5817
+
5818
+
5819
+ <div class="md-nav__link md-nav__container">
5820
+ <a href="../../platform-functionality/dynamicgroup.html" class="md-nav__link ">
5821
+
5129
5822
 
5130
5823
  <span class="md-ellipsis">
5131
5824
  Dynamic Groups
5132
5825
  </span>
5133
5826
 
5134
5827
 
5828
+ </a>
5829
+
5830
+
5831
+ <label class="md-nav__link " for="__nav_2_4_5" id="__nav_2_4_5_label" tabindex="0">
5832
+ <span class="md-nav__icon md-icon"></span>
5833
+ </label>
5834
+
5835
+ </div>
5836
+
5837
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_5_label" aria-expanded="false">
5838
+ <label class="md-nav__title" for="__nav_2_4_5">
5839
+ <span class="md-nav__icon md-icon"></span>
5840
+ Dynamic Groups
5841
+ </label>
5842
+ <ul class="md-nav__list" data-md-scrollfix>
5843
+
5844
+
5845
+
5846
+
5847
+
5848
+
5849
+
5850
+ <li class="md-nav__item">
5851
+ <a href="../../platform-functionality/staticgroupassociation.html" class="md-nav__link">
5852
+
5853
+
5854
+ <span class="md-ellipsis">
5855
+ Static Group Associations
5856
+ </span>
5857
+
5858
+
5135
5859
  </a>
5136
5860
  </li>
5137
5861
 
5138
5862
 
5139
5863
 
5140
5864
 
5865
+ </ul>
5866
+ </nav>
5867
+
5868
+ </li>
5869
+
5870
+
5871
+
5872
+
5141
5873
 
5142
5874
 
5143
5875
 
@@ -5441,6 +6173,27 @@
5441
6173
 
5442
6174
 
5443
6175
 
6176
+ <li class="md-nav__item">
6177
+ <a href="../../platform-functionality/metadata.html" class="md-nav__link">
6178
+
6179
+
6180
+ <span class="md-ellipsis">
6181
+ Metadata
6182
+ </span>
6183
+
6184
+
6185
+ </a>
6186
+ </li>
6187
+
6188
+
6189
+
6190
+
6191
+
6192
+
6193
+
6194
+
6195
+
6196
+
5444
6197
  <li class="md-nav__item">
5445
6198
  <a href="../../platform-functionality/napalm.html" class="md-nav__link">
5446
6199
 
@@ -5515,7 +6268,7 @@
5515
6268
 
5516
6269
 
5517
6270
 
5518
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" >
6271
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_16" >
5519
6272
 
5520
6273
 
5521
6274
 
@@ -5531,14 +6284,14 @@
5531
6284
  </a>
5532
6285
 
5533
6286
 
5534
- <label class="md-nav__link " for="__nav_2_4_15" id="__nav_2_4_15_label" tabindex="0">
6287
+ <label class="md-nav__link " for="__nav_2_4_16" id="__nav_2_4_16_label" tabindex="0">
5535
6288
  <span class="md-nav__icon md-icon"></span>
5536
6289
  </label>
5537
6290
 
5538
6291
  </div>
5539
6292
 
5540
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_15_label" aria-expanded="false">
5541
- <label class="md-nav__title" for="__nav_2_4_15">
6293
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_16_label" aria-expanded="false">
6294
+ <label class="md-nav__title" for="__nav_2_4_16">
5542
6295
  <span class="md-nav__icon md-icon"></span>
5543
6296
  REST API
5544
6297
  </label>
@@ -5642,6 +6395,27 @@
5642
6395
 
5643
6396
 
5644
6397
 
6398
+ <li class="md-nav__item">
6399
+ <a href="../../platform-functionality/savedview.html" class="md-nav__link">
6400
+
6401
+
6402
+ <span class="md-ellipsis">
6403
+ Saved Views
6404
+ </span>
6405
+
6406
+
6407
+ </a>
6408
+ </li>
6409
+
6410
+
6411
+
6412
+
6413
+
6414
+
6415
+
6416
+
6417
+
6418
+
5645
6419
  <li class="md-nav__item">
5646
6420
  <a href="../../platform-functionality/secret.html" class="md-nav__link">
5647
6421
 
@@ -5737,10 +6511,10 @@
5737
6511
 
5738
6512
 
5739
6513
 
5740
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
6514
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_23" >
5741
6515
 
5742
6516
 
5743
- <label class="md-nav__link" for="__nav_2_4_21" id="__nav_2_4_21_label" tabindex="0">
6517
+ <label class="md-nav__link" for="__nav_2_4_23" id="__nav_2_4_23_label" tabindex="0">
5744
6518
 
5745
6519
 
5746
6520
  <span class="md-ellipsis">
@@ -5751,8 +6525,8 @@
5751
6525
  <span class="md-nav__icon md-icon"></span>
5752
6526
  </label>
5753
6527
 
5754
- <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_21_label" aria-expanded="false">
5755
- <label class="md-nav__title" for="__nav_2_4_21">
6528
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_23_label" aria-expanded="false">
6529
+ <label class="md-nav__title" for="__nav_2_4_23">
5756
6530
  <span class="md-nav__icon md-icon"></span>
5757
6531
  Users
5758
6532
  </label>
@@ -8300,6 +9074,27 @@
8300
9074
 
8301
9075
 
8302
9076
 
9077
+ <li class="md-nav__item">
9078
+ <a href="../../../release-notes/version-2.3.html" class="md-nav__link">
9079
+
9080
+
9081
+ <span class="md-ellipsis">
9082
+ Version 2.3
9083
+ </span>
9084
+
9085
+
9086
+ </a>
9087
+ </li>
9088
+
9089
+
9090
+
9091
+
9092
+
9093
+
9094
+
9095
+
9096
+
9097
+
8303
9098
  <li class="md-nav__item">
8304
9099
  <a href="../../../release-notes/version-2.2.html" class="md-nav__link">
8305
9100
 
@@ -9063,15 +9858,6 @@
9063
9858
  </span>
9064
9859
  </a>
9065
9860
 
9066
- </li>
9067
-
9068
- <li class="md-nav__item">
9069
- <a href="#celery_worker_prefetch_multiplier" class="md-nav__link">
9070
- <span class="md-ellipsis">
9071
- CELERY_WORKER_PREFETCH_MULTIPLIER
9072
- </span>
9073
- </a>
9074
-
9075
9861
  </li>
9076
9862
 
9077
9863
  <li class="md-nav__item">
@@ -9216,15 +10002,6 @@
9216
10002
  </span>
9217
10003
  </a>
9218
10004
 
9219
- </li>
9220
-
9221
- <li class="md-nav__item">
9222
- <a href="#dynamic_groups_member_cache_timeout" class="md-nav__link">
9223
- <span class="md-ellipsis">
9224
- DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT
9225
- </span>
9226
- </a>
9227
-
9228
10005
  </li>
9229
10006
 
9230
10007
  <li class="md-nav__item">
@@ -9388,6 +10165,15 @@
9388
10165
  </span>
9389
10166
  </a>
9390
10167
 
10168
+ </li>
10169
+
10170
+ <li class="md-nav__item">
10171
+ <a href="#structlog-configuration" class="md-nav__link">
10172
+ <span class="md-ellipsis">
10173
+ Structlog Configuration
10174
+ </span>
10175
+ </a>
10176
+
9391
10177
  </li>
9392
10178
 
9393
10179
  </ul>
@@ -9898,9 +10684,6 @@
9898
10684
  <p><a href="#device_name_as_natural_key"><code>DEVICE_NAME_AS_NATURAL_KEY</code></a></p>
9899
10685
  </li>
9900
10686
  <li>
9901
- <p><a href="#dynamic_groups_member_cache_timeout"><code>DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT</code></a></p>
9902
- </li>
9903
- <li>
9904
10687
  <p><a href="#job_create_file_max_size"><code>JOB_CREATE_FILE_MAX_SIZE</code></a></p>
9905
10688
  </li>
9906
10689
  <li>
@@ -10227,20 +11010,6 @@ can specify additional apps with ease. Similarly, additional <code>MIDDLEWARE</
10227
11010
  <li><a href="#celery_task_soft_time_limit"> <code>CELERY_TASK_SOFT_TIME_LIMIT</code> </a></li>
10228
11011
  </ul>
10229
11012
  <hr />
10230
- <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>
10231
- <details class="version-added">
10232
- <summary>Added in version 2.2.9</summary>
10233
- </details>
10234
- <p><strong>Default:</strong>
10235
- <code>4</code></p>
10236
- <p><strong>Environment Variable:</strong> <code>NAUTOBOT_CELERY_WORKER_PREFETCH_MULTIPLIER</code></p>
10237
- <p>How many tasks a worker is allowed to reserve for its own consumption and execution.</p>
10238
- <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>
10239
- <p><strong>See Also:</strong></p>
10240
- <ul>
10241
- <li><a href="https://docs.celeryq.dev/en/stable/userguide/optimizing.html#prefetch-limits"> Celery documentation </a></li>
10242
- </ul>
10243
- <hr />
10244
11013
  <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>
10245
11014
  <details class="version-added">
10246
11015
  <summary>Added in version 1.5.10</summary>
@@ -10297,6 +11066,13 @@ can specify additional apps with ease. Similarly, additional <code>MIDDLEWARE</
10297
11066
  <p>If enabling indefinite changelog retention, it is recommended to periodically delete old entries.
10298
11067
  Otherwise, the database may eventually exceed capacity.</p>
10299
11068
  </div>
11069
+ <details class="version-changed">
11070
+ <summary>Changed in version 2.2.0</summary>
11071
+ <p>As of Nautobot 2.2.0, changelog cleanup does not run automatically. Use the <code>Cleanup of ObjectChange records</code>
11072
+ system Job to handle changelog cleanup; you may schedule this to run automatically like any other Job if
11073
+ desired. The <code>CHANGELOG_RETENTION</code> setting provides a default age cutoff for the Job but may be overridden
11074
+ at runtime if desired.</p>
11075
+ </details>
10300
11076
  <div class="admonition tip">
10301
11077
  <p class="admonition-title">Tip</p>
10302
11078
  <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>
@@ -10448,20 +11224,6 @@ installation metrics. This setting is not generally intended to be user-servicea
10448
11224
  <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>
10449
11225
  </div>
10450
11226
  <hr />
10451
- <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>
10452
- <details class="version-added">
10453
- <summary>Added in version 1.6.0</summary>
10454
- </details>
10455
- <p><strong>Default:</strong>
10456
- <code>0</code></p>
10457
- <p><strong>Environment Variable:</strong> <code>NAUTOBOT_DYNAMIC_GROUPS_MEMBER_CACHE_TIMEOUT</code></p>
10458
- <p>The number of seconds to cache the member list of dynamic groups. Set this to <code>0</code> to disable caching.</p>
10459
- <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>
10460
- <div class="admonition tip">
10461
- <p class="admonition-title">Tip</p>
10462
- <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>
10463
- </div>
10464
- <hr />
10465
11227
  <h3 id="exempt_view_permissions"><code>EXEMPT_VIEW_PERMISSIONS</code><a class="headerlink" href="#exempt_view_permissions" title="Permanent link">&para;</a></h3>
10466
11228
  <p><strong>Default:</strong>
10467
11229
  <code>[]</code></p>
@@ -10810,6 +11572,30 @@ a local file:</p>
10810
11572
  <li><code>nautobot.extras.plugins.*</code> - App loading and activity</li>
10811
11573
  <li><code>nautobot.core.views.generic.*</code> - Generic views which handle business logic for the web UI</li>
10812
11574
  </ul>
11575
+ <h4 id="structlog-configuration">Structlog Configuration<a class="headerlink" href="#structlog-configuration" title="Permanent link">&para;</a></h4>
11576
+ <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>
11577
+ <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>
11578
+ <a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a>
11579
+ <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>
11580
+ <a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a> <span class="n">LOGGING</span><span class="p">,</span>
11581
+ <a id="__codelineno-13-5" name="__codelineno-13-5" href="#__codelineno-13-5"></a> <span class="n">INSTALLED_APPS</span><span class="p">,</span>
11582
+ <a id="__codelineno-13-6" name="__codelineno-13-6" href="#__codelineno-13-6"></a> <span class="n">MIDDLEWARE</span><span class="p">,</span>
11583
+ <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>
11584
+ <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>
11585
+ <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>
11586
+ <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>
11587
+ <a id="__codelineno-13-11" name="__codelineno-13-11" href="#__codelineno-13-11"></a><span class="p">)</span>
11588
+ </code></pre></div>
11589
+ <p>Calling this function disables logging if running tests, otherwise:</p>
11590
+ <ul>
11591
+ <li>Overwrites all <code>formatters</code> and <code>handlers</code> to avoid logging duplication.
11592
+ It's possible to add custom <code>formatters</code> and <code>handlers</code> after calling this function.</li>
11593
+ <li>Updates all <code>loggers</code> to use structlog with the specified <code>log_level</code>.</li>
11594
+ <li>Adds or updates the root logger to use structlog with the specified <code>root_level</code>.</li>
11595
+ <li>Uses a human-readable structlog format if <code>plain_format</code> is True, otherwise uses JSON.</li>
11596
+ <li>Adds database query logging if <code>debug_db</code> is True.</li>
11597
+ <li>Adds necessary Django apps and middleware for structlog.</li>
11598
+ </ul>
10813
11599
  <p><strong>See Also:</strong></p>
10814
11600
  <ul>
10815
11601
  <li>
@@ -10915,20 +11701,20 @@ to avoid this.</p>
10915
11701
  <code>{}</code></p>
10916
11702
  <p>A dictionary of optional arguments to pass to NAPALM when instantiating a network driver.</p>
10917
11703
  <p>Example:</p>
10918
- <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>
10919
- <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>
10920
- <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>
10921
- <a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a><span class="p">}</span>
11704
+ <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>
11705
+ <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>
11706
+ <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>
11707
+ <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a><span class="p">}</span>
10922
11708
  </code></pre></div>
10923
11709
  <p>Some platforms (e.g. Cisco IOS) require an enable password to be passed in addition to the normal password.
10924
11710
  If desired, you can use the configured <code>NAPALM_PASSWORD</code> as the value for this argument:</p>
10925
- <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>
10926
- <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>
10927
- <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>
10928
- <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>
10929
- <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>
10930
- <a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a> <span class="c1"># Include any additional args here</span>
10931
- <a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a><span class="p">}</span>
11711
+ <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>
11712
+ <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>
11713
+ <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>
11714
+ <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>
11715
+ <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>
11716
+ <a id="__codelineno-15-6" name="__codelineno-15-6" href="#__codelineno-15-6"></a> <span class="c1"># Include any additional args here</span>
11717
+ <a id="__codelineno-15-7" name="__codelineno-15-7" href="#__codelineno-15-7"></a><span class="p">}</span>
10932
11718
  </code></pre></div>
10933
11719
  <div class="admonition note">
10934
11720
  <p class="admonition-title">Note</p>
@@ -11007,10 +11793,10 @@ If you need to customize this setting, please always set the <code>NAUTOBOT_ROOT
11007
11793
  <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>
11008
11794
  <p>For example, to add support for a custom <code>Platform.network_driver</code> value of <code>"my_network_driver"</code>
11009
11795
  for Netmiko and PyATS drivers:</p>
11010
- <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>
11011
- <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>
11012
- <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>
11013
- <a id="__codelineno-15-4" name="__codelineno-15-4" href="#__codelineno-15-4"></a><span class="p">}</span>
11796
+ <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>
11797
+ <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>
11798
+ <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>
11799
+ <a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="p">}</span>
11014
11800
  </code></pre></div>
11015
11801
  <p>The default top-level keys are <code>ansible</code>, <code>hier_config</code>, <code>napalm</code>, <code>netmiko</code>, <code>netutils_parser</code>,
11016
11802
  <code>ntc_templates</code>, <code>pyats</code>, <code>pyntc</code>, and <code>scrapli</code>, but you can also add additional keys if you have
@@ -11059,15 +11845,15 @@ absolutely no guarantees about the integrity or security of your installation wi
11059
11845
  <p>It is defined as a dictionary, with each key using the name of an installed App.
11060
11846
  The specific parameters supported are unique to each App; reference the App's documentation to determine
11061
11847
  the supported parameters. An example configuration is shown below:</p>
11062
- <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>
11063
- <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>
11064
- <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>
11065
- <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>
11066
- <a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a> <span class="p">},</span>
11067
- <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>
11068
- <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>
11069
- <a id="__codelineno-16-8" name="__codelineno-16-8" href="#__codelineno-16-8"></a> <span class="p">},</span>
11070
- <a id="__codelineno-16-9" name="__codelineno-16-9" href="#__codelineno-16-9"></a><span class="p">}</span>
11848
+ <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>
11849
+ <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>
11850
+ <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>
11851
+ <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>
11852
+ <a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a> <span class="p">},</span>
11853
+ <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>
11854
+ <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>
11855
+ <a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a> <span class="p">},</span>
11856
+ <a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a><span class="p">}</span>
11071
11857
  </code></pre></div>
11072
11858
  <p>Note that an App must be listed in <code>PLUGINS</code> for its configuration to take effect.</p>
11073
11859
  <hr />
@@ -11174,13 +11960,13 @@ or a custom fork. Set this to <code>None</code> to disable automatic update chec
11174
11960
  <summary>Added in version 1.3.4</summary>
11175
11961
  </details>
11176
11962
  <p><strong>Default:</strong></p>
11177
- <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>
11178
- <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>
11179
- <a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a> <span class="p">(</span>
11180
- <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>
11181
- <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>
11182
- <a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a> <span class="p">),</span>
11183
- <a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a><span class="p">]</span>
11963
+ <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>
11964
+ <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>
11965
+ <a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a> <span class="p">(</span>
11966
+ <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>
11967
+ <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>
11968
+ <a id="__codelineno-18-6" name="__codelineno-18-6" href="#__codelineno-18-6"></a> <span class="p">),</span>
11969
+ <a id="__codelineno-18-7" name="__codelineno-18-7" href="#__codelineno-18-7"></a><span class="p">]</span>
11184
11970
  </code></pre></div>
11185
11971
  <p>List of (regular expression, replacement pattern) tuples used by the <code>nautobot.core.utils.logging.sanitize()</code> function.</p>
11186
11972
  <p>As of Nautobot 1.3.4 this function is used primarily for sanitization of Job log entries,
@@ -11419,23 +12205,23 @@ provide support for Nautobot. Markdown formatting is supported within this messa
11419
12205
  <p><strong>Environment Variable:</strong> <code>NAUTOBOT_TEST_PERFORMANCE_BASELINE_FILE</code></p>
11420
12206
  <p>File path of a YAML file providing baseline times for all performance-related tests.</p>
11421
12207
  <p>The YAML file should conform to the following format:</p>
11422
- <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>
11423
- <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>
11424
- <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>
11425
- <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>
11426
- <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>
11427
- <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>
11428
- <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>
11429
- <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>
11430
- <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>
11431
- <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>
11432
- <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>
11433
- <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>
11434
- <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>
11435
- <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>
11436
- <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>
11437
- <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>
11438
- <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>
12208
+ <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>
12209
+ <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>
12210
+ <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>
12211
+ <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>
12212
+ <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>
12213
+ <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>
12214
+ <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>
12215
+ <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>
12216
+ <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>
12217
+ <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>
12218
+ <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>
12219
+ <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>
12220
+ <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>
12221
+ <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>
12222
+ <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>
12223
+ <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>
12224
+ <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>
11439
12225
  </code></pre></div>
11440
12226
  <hr />
11441
12227
  <h3 id="test_use_factories"><code>TEST_USE_FACTORIES</code><a class="headerlink" href="#test_use_factories" title="Permanent link">&para;</a></h3>
@@ -11505,8 +12291,8 @@ jobs may run in the wrong time zone.</p>
11505
12291
  <summary>Added in version 1.4.0</summary>
11506
12292
  </details>
11507
12293
  <p><strong>Default:</strong></p>
11508
- <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>
11509
- <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>
12294
+ <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>
12295
+ <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>
11510
12296
  </code></pre></div>
11511
12297
  <p>This setting function is used to perform the rack elevation truncation feature.</p>
11512
12298
  <p>This provides a way to tailor the truncation behavior to best suit the needs of the installation.