nautobot 2.0.0a2__py3-none-any.whl → 2.0.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.
Files changed (1029) hide show
  1. nautobot/__init__.py +1 -5
  2. nautobot/apps/api.py +6 -8
  3. nautobot/apps/forms.py +0 -2
  4. nautobot/apps/ui.py +0 -8
  5. nautobot/circuits/api/serializers.py +9 -119
  6. nautobot/circuits/api/urls.py +1 -1
  7. nautobot/circuits/api/views.py +0 -1
  8. nautobot/circuits/choices.py +0 -2
  9. nautobot/circuits/filters.py +7 -6
  10. nautobot/circuits/forms.py +3 -73
  11. nautobot/circuits/migrations/0001_initial_part_1.py +0 -1
  12. nautobot/circuits/migrations/0002_initial_part_2.py +0 -1
  13. nautobot/circuits/migrations/0003_auto_slug.py +0 -1
  14. nautobot/circuits/migrations/0004_increase_provider_account_length.py +0 -1
  15. nautobot/circuits/migrations/0005_providernetwork.py +0 -1
  16. nautobot/circuits/migrations/0006_cache_circuit_terminations.py +0 -1
  17. nautobot/circuits/migrations/0007_circuitterminations_primary_model.py +0 -1
  18. nautobot/circuits/migrations/0008_add_natural_indexing.py +0 -1
  19. nautobot/circuits/migrations/0009_circuittermination_location.py +0 -1
  20. nautobot/circuits/migrations/0010_rename_foreign_keys_and_related_names.py +0 -1
  21. nautobot/circuits/migrations/0011_remove_site_foreign_key_from_circuit_termination_class.py +0 -1
  22. nautobot/circuits/migrations/0012_created_datetime.py +0 -1
  23. nautobot/circuits/migrations/0013_alter_circuittermination__path.py +0 -1
  24. nautobot/circuits/migrations/0014_related_name_changes.py +1 -2
  25. nautobot/circuits/migrations/0015_remove_circuittype_provider_slug.py +20 -0
  26. nautobot/circuits/migrations/0016_tagsfield.py +34 -0
  27. nautobot/circuits/migrations/0017_fixup_null_statuses.py +22 -0
  28. nautobot/circuits/migrations/0018_status_nonnullable.py +22 -0
  29. nautobot/circuits/models.py +3 -93
  30. nautobot/circuits/navigation.py +14 -69
  31. nautobot/circuits/signals.py +0 -2
  32. nautobot/circuits/tables.py +42 -5
  33. nautobot/circuits/templates/circuits/circuit_retrieve.html +1 -1
  34. nautobot/circuits/templates/circuits/circuittermination_retrieve.html +1 -1
  35. nautobot/circuits/templates/circuits/circuittype_retrieve.html +1 -1
  36. nautobot/circuits/templates/circuits/provider_create.html +0 -1
  37. nautobot/circuits/templates/circuits/provider_retrieve.html +1 -1
  38. nautobot/circuits/tests/integration/test_relationships.py +13 -16
  39. nautobot/circuits/tests/test_api.py +13 -43
  40. nautobot/circuits/tests/test_filters.py +20 -15
  41. nautobot/circuits/tests/test_models.py +7 -3
  42. nautobot/circuits/tests/test_views.py +57 -67
  43. nautobot/circuits/views.py +18 -9
  44. nautobot/core/api/__init__.py +8 -2
  45. nautobot/core/api/authentication.py +0 -3
  46. nautobot/core/api/fields.py +15 -6
  47. nautobot/core/api/filter_backends.py +3 -2
  48. nautobot/core/api/metadata.py +237 -30
  49. nautobot/core/api/mixins.py +94 -0
  50. nautobot/core/api/pagination.py +3 -3
  51. nautobot/core/api/parsers.py +154 -0
  52. nautobot/core/api/renderers.py +153 -2
  53. nautobot/core/api/schema.py +47 -3
  54. nautobot/core/api/serializers.py +377 -37
  55. nautobot/core/api/urls.py +11 -3
  56. nautobot/core/api/utils.py +174 -2
  57. nautobot/core/api/versioning.py +32 -10
  58. nautobot/core/api/views.py +266 -75
  59. nautobot/core/apps/__init__.py +138 -221
  60. nautobot/core/celery/__init__.py +112 -41
  61. nautobot/core/celery/backends.py +19 -13
  62. nautobot/core/celery/control.py +46 -0
  63. nautobot/core/celery/encoders.py +53 -0
  64. nautobot/core/celery/log.py +38 -0
  65. nautobot/core/celery/schedulers.py +23 -4
  66. nautobot/core/celery/task.py +1 -16
  67. nautobot/core/checks.py +0 -27
  68. nautobot/core/choices.py +21 -113
  69. nautobot/core/{cli.py → cli/__init__.py} +1 -2
  70. nautobot/core/cli/__main__.py +3 -0
  71. nautobot/core/constants.py +25 -43
  72. nautobot/core/context_processors.py +12 -0
  73. nautobot/core/filters.py +2 -2
  74. nautobot/core/forms/__init__.py +0 -4
  75. nautobot/core/forms/fields.py +39 -68
  76. nautobot/core/forms/forms.py +27 -27
  77. nautobot/core/forms/utils.py +7 -59
  78. nautobot/core/forms/widgets.py +0 -1
  79. nautobot/core/graphql/__init__.py +2 -2
  80. nautobot/core/graphql/schema.py +4 -27
  81. nautobot/core/jobs/__init__.py +75 -0
  82. nautobot/core/management/commands/build_ui.py +255 -0
  83. nautobot/core/management/commands/celery.py +0 -1
  84. nautobot/core/management/commands/generate_test_data.py +18 -13
  85. nautobot/core/management/commands/post_upgrade.py +24 -24
  86. nautobot/core/management/commands/validate_models.py +0 -1
  87. nautobot/core/middleware.py +0 -1
  88. nautobot/core/models/__init__.py +26 -1
  89. nautobot/core/models/fields.py +24 -5
  90. nautobot/core/models/generics.py +2 -46
  91. nautobot/core/models/managers.py +5 -0
  92. nautobot/core/models/name_color_content_types.py +1 -19
  93. nautobot/core/models/tree_queries.py +14 -4
  94. nautobot/core/models/utils.py +9 -10
  95. nautobot/core/models/validators.py +17 -8
  96. nautobot/core/releases.py +8 -10
  97. nautobot/core/settings.py +81 -53
  98. nautobot/core/tables.py +5 -5
  99. nautobot/core/tasks.py +4 -7
  100. nautobot/core/templates/base.html +1 -49
  101. nautobot/core/templates/base_django.html +49 -0
  102. nautobot/core/templates/base_react.html +55 -0
  103. nautobot/core/templates/buttons/export.html +6 -4
  104. nautobot/core/templates/generic/object_bulk_create.html +10 -21
  105. nautobot/core/templates/generic/object_list.html +4 -1
  106. nautobot/core/templates/generic/object_retrieve_plugin_full_width.html +3 -0
  107. nautobot/core/templates/inc/footer.html +1 -0
  108. nautobot/core/templates/inc/javascript.html +0 -14
  109. nautobot/core/templates/inc/nav_menu.html +28 -33
  110. nautobot/core/templates/inc/object_details_advanced_panel.html +13 -0
  111. nautobot/core/templates/inc/relationships_table_rows.html +2 -2
  112. nautobot/core/templates/nautobot_config.py.j2 +8 -25
  113. nautobot/core/templates/plugin_template/__init__.py-tpl +1 -2
  114. nautobot/core/templates/rest_framework/api.html +8 -0
  115. nautobot/core/templatetags/buttons.py +32 -29
  116. nautobot/core/templatetags/helpers.py +1 -1
  117. nautobot/core/testing/__init__.py +47 -44
  118. nautobot/core/testing/api.py +365 -47
  119. nautobot/core/testing/filters.py +12 -7
  120. nautobot/core/testing/integration.py +1 -1
  121. nautobot/core/testing/migrations.py +2 -0
  122. nautobot/core/testing/mixins.py +22 -12
  123. nautobot/core/testing/schema.py +2 -1
  124. nautobot/core/testing/views.py +28 -51
  125. nautobot/core/tests/integration/test_filters.py +17 -8
  126. nautobot/core/tests/integration/test_navbar.py +11 -34
  127. nautobot/core/tests/integration/test_plugin_navbar.py +9 -103
  128. nautobot/core/tests/nautobot_config.py +2 -3
  129. nautobot/core/tests/runner.py +0 -1
  130. nautobot/core/tests/test_api.py +290 -24
  131. nautobot/core/tests/test_authentication.py +57 -14
  132. nautobot/core/tests/test_checks.py +0 -7
  133. nautobot/core/tests/test_choices.py +0 -1
  134. nautobot/core/tests/test_filters.py +117 -110
  135. nautobot/core/tests/test_forms.py +47 -110
  136. nautobot/core/tests/test_graphql.py +158 -135
  137. nautobot/core/tests/test_logging.py +4 -1
  138. nautobot/core/tests/test_managers.py +3 -5
  139. nautobot/core/tests/test_models.py +2 -0
  140. nautobot/core/tests/test_ordering.py +0 -2
  141. nautobot/core/tests/test_paginator.py +3 -1
  142. nautobot/core/tests/test_releases.py +12 -12
  143. nautobot/core/tests/test_templatetags_helpers.py +7 -4
  144. nautobot/core/tests/test_utils.py +112 -78
  145. nautobot/core/tests/test_views.py +12 -17
  146. nautobot/core/tests/test_views_utils.py +6 -9
  147. nautobot/core/utils/data.py +17 -0
  148. nautobot/core/utils/deprecation.py +13 -20
  149. nautobot/core/utils/filtering.py +53 -9
  150. nautobot/core/utils/git.py +12 -4
  151. nautobot/core/utils/lookup.py +3 -1
  152. nautobot/core/utils/requests.py +23 -116
  153. nautobot/core/views/__init__.py +1 -2
  154. nautobot/core/views/generic.py +131 -119
  155. nautobot/core/views/mixins.py +53 -62
  156. nautobot/core/views/paginator.py +0 -1
  157. nautobot/core/views/renderers.py +14 -12
  158. nautobot/core/views/utils.py +87 -4
  159. nautobot/dcim/api/serializers.py +160 -672
  160. nautobot/dcim/api/urls.py +1 -1
  161. nautobot/dcim/api/views.py +7 -46
  162. nautobot/dcim/choices.py +2 -25
  163. nautobot/dcim/elevations.py +0 -1
  164. nautobot/dcim/factory.py +15 -4
  165. nautobot/dcim/filters/__init__.py +42 -13
  166. nautobot/dcim/form_mixins.py +1 -27
  167. nautobot/dcim/forms.py +58 -797
  168. nautobot/dcim/management/commands/trace_paths.py +0 -1
  169. nautobot/dcim/migrations/0001_initial_part_1.py +0 -1
  170. nautobot/dcim/migrations/0002_initial_part_2.py +0 -1
  171. nautobot/dcim/migrations/0003_initial_part_3.py +0 -1
  172. nautobot/dcim/migrations/0004_initial_part_4.py +0 -1
  173. nautobot/dcim/migrations/0005_device_local_context_schema.py +0 -1
  174. nautobot/dcim/migrations/0006_auto_slug.py +0 -1
  175. nautobot/dcim/migrations/0007_device_secrets_group.py +0 -1
  176. nautobot/dcim/migrations/0008_increase_all_serial_lengths.py +0 -1
  177. nautobot/dcim/migrations/0009_add_natural_indexing.py +0 -1
  178. nautobot/dcim/migrations/0010_interface_status.py +0 -1
  179. nautobot/dcim/migrations/0011_interface_status_data_migration.py +0 -1
  180. nautobot/dcim/migrations/0012_interface_parent_bridge.py +0 -1
  181. nautobot/dcim/migrations/0013_location_location_type.py +0 -1
  182. nautobot/dcim/migrations/0014_location_status_data_migration.py +0 -1
  183. nautobot/dcim/migrations/0015_device_components__changeloggedmodel.py +0 -1
  184. nautobot/dcim/migrations/0016_device_components__timestamp_data_migration.py +0 -1
  185. nautobot/dcim/migrations/0017_locationtype_nestable.py +0 -1
  186. nautobot/dcim/migrations/0018_device_redundancy_group.py +0 -1
  187. nautobot/dcim/migrations/0019_device_redundancy_group_data_migration.py +0 -1
  188. nautobot/dcim/migrations/0020_move_site_fields_to_location_model.py +0 -1
  189. nautobot/dcim/migrations/0021_mptt_to_tree_queries.py +0 -1
  190. nautobot/dcim/migrations/0022_interface_mac_address_data_migration.py +0 -1
  191. nautobot/dcim/migrations/0023_alter_interface_mac_address.py +0 -1
  192. nautobot/dcim/migrations/0024_alter_device_and_rack_role_add_new_role.py +2 -2
  193. nautobot/dcim/migrations/0025_device_and_rack_roles_data_migrations.py +19 -14
  194. nautobot/dcim/migrations/0026_rename_device_and_rack_role.py +0 -1
  195. nautobot/dcim/migrations/0027_remove_device_role_and_rack_role.py +1 -2
  196. nautobot/dcim/migrations/0028_rename_foreignkey_fields.py +1 -2
  197. nautobot/dcim/migrations/0029_add_tree_managers_and_foreign_keys_pre_data_migration.py +0 -1
  198. nautobot/dcim/migrations/0030_migrate_region_and_site_data_to_locations.py +2 -2
  199. nautobot/dcim/migrations/0031_rename_path_end_point_related_name.py +0 -1
  200. nautobot/dcim/migrations/0032_remove_site_foreign_key_from_dcim_models.py +0 -1
  201. nautobot/dcim/migrations/0033_created_datetime.py +0 -1
  202. nautobot/dcim/migrations/0034_fixup_fks_and_related_names.py +0 -1
  203. nautobot/dcim/migrations/0035_related_name_changes.py +1 -2
  204. nautobot/dcim/migrations/0036_remove_region_and_site.py +1 -2
  205. nautobot/dcim/migrations/0037_interface_ip_addresses_m2m.py +0 -1
  206. nautobot/dcim/migrations/0038_alter_location_managers.py +0 -1
  207. nautobot/dcim/migrations/0039_remove_slug.py +24 -0
  208. nautobot/dcim/migrations/0040_tagsfield.py +109 -0
  209. nautobot/dcim/migrations/0041_ipam__namespaces.py +25 -0
  210. nautobot/dcim/migrations/0042_fixup_null_statuses.py +51 -0
  211. nautobot/dcim/migrations/0043_status_nonnullable.py +72 -0
  212. nautobot/dcim/models/cables.py +4 -35
  213. nautobot/dcim/models/device_component_templates.py +7 -2
  214. nautobot/dcim/models/device_components.py +26 -203
  215. nautobot/dcim/models/devices.py +30 -152
  216. nautobot/dcim/models/locations.py +3 -64
  217. nautobot/dcim/models/power.py +3 -51
  218. nautobot/dcim/models/racks.py +7 -86
  219. nautobot/dcim/navigation.py +141 -467
  220. nautobot/dcim/signals.py +0 -2
  221. nautobot/dcim/tables/devices.py +8 -5
  222. nautobot/dcim/tables/devicetypes.py +1 -1
  223. nautobot/dcim/tables/locations.py +2 -2
  224. nautobot/dcim/tables/power.py +2 -2
  225. nautobot/dcim/templates/dcim/console_port_connection_list.html +7 -0
  226. nautobot/dcim/templates/dcim/device.html +15 -4
  227. nautobot/dcim/templates/dcim/device_edit.html +6 -0
  228. nautobot/dcim/templates/dcim/deviceredundancygroup_create.html +0 -1
  229. nautobot/dcim/templates/dcim/devicetype.html +2 -2
  230. nautobot/dcim/templates/dcim/interface.html +4 -0
  231. nautobot/dcim/templates/dcim/interface_connection_list.html +7 -0
  232. nautobot/dcim/templates/dcim/interface_edit.html +1 -0
  233. nautobot/dcim/templates/dcim/location.html +16 -1
  234. nautobot/dcim/templates/dcim/locationtype.html +15 -0
  235. nautobot/dcim/templates/dcim/power_port_connection_list.html +7 -0
  236. nautobot/dcim/templates/dcim/rackgroup.html +0 -12
  237. nautobot/dcim/tests/integration/test_cable_connect_form.py +4 -4
  238. nautobot/dcim/tests/test_api.py +202 -130
  239. nautobot/dcim/tests/test_cablepaths.py +47 -42
  240. nautobot/dcim/tests/test_filters.py +156 -134
  241. nautobot/dcim/tests/test_forms.py +12 -213
  242. nautobot/dcim/tests/test_graphql.py +8 -3
  243. nautobot/dcim/tests/test_migrations.py +6 -11
  244. nautobot/dcim/tests/test_models.py +208 -158
  245. nautobot/dcim/tests/test_natural_ordering.py +12 -14
  246. nautobot/dcim/tests/test_signals.py +7 -4
  247. nautobot/dcim/tests/test_views.py +270 -264
  248. nautobot/dcim/urls.py +21 -26
  249. nautobot/dcim/views.py +14 -156
  250. nautobot/docs/additional-features/caching.md +6 -87
  251. nautobot/docs/additional-features/job-scheduling-and-approvals.md +3 -0
  252. nautobot/docs/additional-features/jobs.md +179 -197
  253. nautobot/docs/administration/nautobot-server.md +9 -24
  254. nautobot/docs/administration/nautobot-shell.md +6 -6
  255. nautobot/docs/administration/replicating-nautobot.md +0 -10
  256. nautobot/docs/configuration/index.md +9 -9
  257. nautobot/docs/configuration/optional-settings.md +32 -61
  258. nautobot/docs/configuration/required-settings.md +11 -52
  259. nautobot/docs/development/application-registry.md +2 -13
  260. nautobot/docs/development/best-practices.md +2 -1
  261. nautobot/docs/development/docker-compose-advanced-use-cases.md +1 -1
  262. nautobot/docs/development/extending-models.md +15 -17
  263. nautobot/docs/development/generic-views.md +0 -2
  264. nautobot/docs/development/getting-started.md +56 -6
  265. nautobot/docs/development/navigation-menu.md +22 -93
  266. nautobot/docs/development/react-ui.md +105 -0
  267. nautobot/docs/development/release-checklist.md +3 -3
  268. nautobot/docs/development/role-internals.md +1 -3
  269. nautobot/docs/development/style-guide.md +6 -4
  270. nautobot/docs/development/templates.md +2 -1
  271. nautobot/docs/docker/index.md +16 -14
  272. nautobot/docs/index.md +7 -3
  273. nautobot/docs/installation/index.md +4 -1
  274. nautobot/docs/installation/migrating-from-netbox.md +12 -43
  275. nautobot/docs/installation/migrating-from-postgresql.md +1 -1
  276. nautobot/docs/installation/nautobot.md +1 -1
  277. nautobot/docs/installation/tables/v2-api-behavior-changes.yaml +70 -0
  278. nautobot/docs/installation/tables/v2-api-removed-fields.yaml +142 -0
  279. nautobot/docs/installation/tables/v2-api-renamed-fields.yaml +124 -0
  280. nautobot/docs/installation/tables/v2-code-location-changes.yaml +241 -0
  281. nautobot/docs/installation/tables/v2-code-removals.yaml +67 -0
  282. nautobot/docs/installation/tables/v2-database-behavior-changes.yaml +37 -0
  283. nautobot/docs/installation/tables/v2-database-removed-fields.yaml +166 -0
  284. nautobot/docs/installation/tables/v2-database-renamed-fields.yaml +340 -0
  285. nautobot/docs/installation/tables/v2-filters-corrected-fields.yaml +28 -0
  286. nautobot/docs/installation/tables/v2-filters-enhanced-fields.yaml +241 -0
  287. nautobot/docs/installation/tables/v2-filters-removed-fields.yaml +553 -0
  288. nautobot/docs/installation/tables/v2-filters-renamed-fields.yaml +223 -0
  289. nautobot/docs/installation/tables/v2-logging-renamed-loggers.yaml +23 -0
  290. nautobot/docs/installation/upgrading-from-nautobot-v1.md +190 -636
  291. nautobot/docs/installation/upgrading.md +5 -2
  292. nautobot/docs/models/dcim/device.md +3 -0
  293. nautobot/docs/models/dcim/deviceredundancygroup.md +3 -3
  294. nautobot/docs/models/extras/computedfield.md +4 -4
  295. nautobot/docs/models/extras/dynamicgroup.md +9 -9
  296. nautobot/docs/models/extras/gitrepository.md +3 -0
  297. nautobot/docs/models/extras/job.md +1 -0
  298. nautobot/docs/models/extras/jobbutton.md +18 -13
  299. nautobot/docs/models/extras/jobhook.md +7 -4
  300. nautobot/docs/models/extras/jobresult.md +6 -2
  301. nautobot/docs/models/extras/relationship.md +2 -2
  302. nautobot/docs/models/extras/status.md +6 -19
  303. nautobot/docs/models/ipam/ipaddress.md +3 -0
  304. nautobot/docs/models/ipam/vrf.md +0 -3
  305. nautobot/docs/models/virtualization/virtualmachine.md +3 -0
  306. nautobot/docs/plugins/development.md +92 -24
  307. nautobot/docs/release-notes/version-1.5.md +96 -0
  308. nautobot/docs/release-notes/version-2.0.md +216 -0
  309. nautobot/docs/requirements.txt +5 -4
  310. nautobot/docs/rest-api/overview.md +384 -215
  311. nautobot/docs/rest-api/ui-related-endpoints.md +9 -0
  312. nautobot/extras/admin.py +3 -5
  313. nautobot/extras/api/customfields.py +15 -39
  314. nautobot/extras/api/fields.py +0 -11
  315. nautobot/extras/api/mixins.py +45 -0
  316. nautobot/extras/api/relationships.py +63 -159
  317. nautobot/extras/api/serializers.py +165 -706
  318. nautobot/extras/api/urls.py +1 -1
  319. nautobot/extras/api/views.py +295 -282
  320. nautobot/extras/apps.py +4 -7
  321. nautobot/extras/choices.py +11 -22
  322. nautobot/extras/constants.py +9 -3
  323. nautobot/extras/datasources/__init__.py +2 -0
  324. nautobot/extras/datasources/git.py +135 -186
  325. nautobot/extras/datasources/registry.py +25 -35
  326. nautobot/extras/factory.py +1 -3
  327. nautobot/extras/filters/__init__.py +49 -47
  328. nautobot/extras/filters/mixins.py +10 -8
  329. nautobot/extras/forms/forms.py +72 -148
  330. nautobot/extras/forms/mixins.py +34 -57
  331. nautobot/extras/health_checks.py +0 -33
  332. nautobot/extras/jobs.py +387 -566
  333. nautobot/extras/management/__init__.py +55 -48
  334. nautobot/extras/management/commands/renaturalize.py +0 -1
  335. nautobot/extras/management/commands/runjob.py +24 -62
  336. nautobot/extras/management/commands/webhook_receiver.py +0 -1
  337. nautobot/extras/managers.py +30 -7
  338. nautobot/extras/migrations/0001_initial_part_1.py +0 -1
  339. nautobot/extras/migrations/0002_initial_part_2.py +0 -1
  340. nautobot/extras/migrations/0003_initial_part_3.py +0 -1
  341. nautobot/extras/migrations/0004_populate_default_status_records.py +0 -1
  342. nautobot/extras/migrations/0005_configcontext_device_types.py +0 -1
  343. nautobot/extras/migrations/0006_graphqlquery.py +0 -1
  344. nautobot/extras/migrations/0007_configcontextschema.py +0 -1
  345. nautobot/extras/migrations/0008_jobresult__custom_field_data.py +0 -1
  346. nautobot/extras/migrations/0009_computedfield.py +0 -1
  347. nautobot/extras/migrations/0010_change_cf_validation_max_min_field_to_bigint.py +0 -1
  348. nautobot/extras/migrations/0011_fileattachment_fileproxy.py +0 -1
  349. nautobot/extras/migrations/0012_healthchecktestmodel.py +0 -1
  350. nautobot/extras/migrations/0013_default_fallback_value_computedfield.py +0 -1
  351. nautobot/extras/migrations/0014_auto_slug.py +0 -1
  352. nautobot/extras/migrations/0015_scheduled_job.py +0 -1
  353. nautobot/extras/migrations/0016_secret.py +0 -1
  354. nautobot/extras/migrations/0017_joblogentry.py +0 -1
  355. nautobot/extras/migrations/0018_joblog_data_migration.py +0 -2
  356. nautobot/extras/migrations/0019_joblogentry__meta_options__related_name.py +0 -1
  357. nautobot/extras/migrations/0020_customfield_changelog.py +0 -1
  358. nautobot/extras/migrations/0021_customfield_changelog_data.py +0 -1
  359. nautobot/extras/migrations/0022_objectchange_object_datav2.py +0 -1
  360. nautobot/extras/migrations/0023_job_model.py +0 -1
  361. nautobot/extras/migrations/0024_job_data_migration.py +0 -1
  362. nautobot/extras/migrations/0025_add_advanced_ui_boolean_to_customfield_conputedfield_and_relationship.py +0 -1
  363. nautobot/extras/migrations/0026_job_add_gitrepository_fk.py +0 -1
  364. nautobot/extras/migrations/0027_job_gitrepository_data_migration.py +0 -1
  365. nautobot/extras/migrations/0028_job_reduce_source.py +0 -1
  366. nautobot/extras/migrations/0029_dynamicgroup.py +0 -1
  367. nautobot/extras/migrations/0030_webhook_alter_unique_together.py +0 -1
  368. nautobot/extras/migrations/0031_tag_content_types.py +0 -1
  369. nautobot/extras/migrations/0032_tag_content_types_data_migration.py +0 -1
  370. nautobot/extras/migrations/0033_add__optimized_indexing.py +0 -1
  371. nautobot/extras/migrations/0034_alter_fileattachment_mimetype.py +0 -1
  372. nautobot/extras/migrations/0035_scheduledjob_crontab.py +0 -1
  373. nautobot/extras/migrations/0036_job_add_has_sensitive_variables.py +0 -1
  374. nautobot/extras/migrations/0037_configcontextschema__remove_name_unique__create_constraint_unique_name_owner.py +0 -1
  375. nautobot/extras/migrations/0038_configcontext_locations.py +0 -1
  376. nautobot/extras/migrations/0039_objectchange__add_change_context.py +0 -1
  377. nautobot/extras/migrations/0040_dynamicgroup__dynamicgroupmembership.py +0 -1
  378. nautobot/extras/migrations/0041_jobresult_job_kwargs.py +0 -1
  379. nautobot/extras/migrations/0042_job__add_is_job_hook_receiver.py +0 -1
  380. nautobot/extras/migrations/0043_note.py +0 -1
  381. nautobot/extras/migrations/0044_add_job_hook.py +0 -1
  382. nautobot/extras/migrations/0045_add_custom_field_slug.py +0 -1
  383. nautobot/extras/migrations/0046_populate_custom_field_slug_label.py +0 -1
  384. nautobot/extras/migrations/0047_enforce_custom_field_slug.py +0 -1
  385. nautobot/extras/migrations/0048_alter_objectchange_change_context_detail.py +0 -1
  386. nautobot/extras/migrations/0049_alter_tag_slug.py +0 -1
  387. nautobot/extras/migrations/0050_customfield_grouping.py +0 -1
  388. nautobot/extras/migrations/0051_add_job_task_queues.py +0 -1
  389. nautobot/extras/migrations/0052_configcontext_device_redundancy_groups.py +0 -1
  390. nautobot/extras/migrations/0053_relationship_required_on.py +0 -1
  391. nautobot/extras/migrations/0054_scheduledjob_kwargs_request_user_change.py +0 -1
  392. nautobot/extras/migrations/0055_configcontext_dynamic_groups.py +0 -1
  393. nautobot/extras/migrations/0056_objectchange_add_reverse_time_idx.py +0 -1
  394. nautobot/extras/migrations/0057_jobbutton.py +0 -1
  395. nautobot/extras/migrations/0058_jobresult_add_time_status_idxs.py +38 -0
  396. nautobot/extras/migrations/{0058_joblogentry_scheduledjob_webhook_data_migration.py → 0059_joblogentry_scheduledjob_webhook_data_migration.py} +1 -2
  397. nautobot/extras/migrations/{0059_alter_joblogentry_scheduledjob_webhook_fields.py → 0060_alter_joblogentry_scheduledjob_webhook_fields.py} +1 -2
  398. nautobot/extras/migrations/{0060_role_and_alter_status.py → 0061_role_and_alter_status.py} +1 -8
  399. nautobot/extras/migrations/{0061_collect_roles_from_related_apps_roles.py → 0062_collect_roles_from_related_apps_roles.py} +33 -33
  400. nautobot/extras/migrations/{0062_alter_role_options.py → 0063_alter_role_options.py} +1 -2
  401. nautobot/extras/migrations/{0063_alter_configcontext_and_add_new_role.py → 0064_alter_configcontext_and_add_new_role.py} +1 -2
  402. nautobot/extras/migrations/0065_configcontext_data_migrations.py +44 -0
  403. nautobot/extras/migrations/{0065_rename_configcontext_role.py → 0066_rename_configcontext_role.py} +1 -2
  404. nautobot/extras/migrations/{0066_jobresult__add_celery_fields.py → 0067_jobresult__add_celery_fields.py} +36 -3
  405. nautobot/extras/migrations/{0067_created_datetime.py → 0068_created_datetime.py} +1 -2
  406. nautobot/extras/migrations/{0068_remove_site_and_region_attributes_from_config_context.py → 0069_remove_site_and_region_attributes_from_config_context.py} +1 -2
  407. nautobot/extras/migrations/{0069_replace_related_names.py → 0070_replace_related_names.py} +1 -1
  408. nautobot/extras/migrations/{0070_rename_model_fields.py → 0071_rename_model_fields.py} +1 -2
  409. nautobot/extras/migrations/0072_job__unique_name_data_migration.py +86 -0
  410. nautobot/extras/migrations/{0072_job__unique_name.py → 0073_job__unique_name.py} +13 -10
  411. nautobot/extras/migrations/{0073_remove_gitrepository_fields.py → 0074_remove_gitrepository_fields.py} +1 -2
  412. nautobot/extras/migrations/{0074_rename_slug_to_key_for_custom_field.py → 0075_rename_slug_to_key_for_custom_field.py} +1 -1
  413. nautobot/extras/migrations/{0075_migrate_custom_field_data.py → 0076_migrate_custom_field_data.py} +1 -1
  414. nautobot/extras/migrations/{0076_remove_name_field_and_make_label_field_non_nullable.py → 0077_remove_name_field_and_make_label_field_non_nullable.py} +1 -1
  415. nautobot/extras/migrations/0078_remove_slug.py +45 -0
  416. nautobot/extras/migrations/0079_tagsfield.py +28 -0
  417. nautobot/extras/migrations/0080_rename_relationship_slug_to_key.py +17 -0
  418. nautobot/extras/migrations/0081_rename_relationship_name_to_label.py +29 -0
  419. nautobot/extras/migrations/0082_ensure_relationship_keys_are_unique.py +43 -0
  420. nautobot/extras/migrations/0083_rename_computed_field_slug_to_key.py +21 -0
  421. nautobot/extras/migrations/0084_taggeditem_cleanup.py +43 -0
  422. nautobot/extras/migrations/0085_taggeditem_uniqueness.py +22 -0
  423. nautobot/extras/migrations/0086_job__celery_task_fields__dryrun_support.py +81 -0
  424. nautobot/extras/migrations/0087_job__commit_default_data_migration.py +26 -0
  425. nautobot/extras/migrations/0088_joblogentry__log_level_default.py +17 -0
  426. nautobot/extras/migrations/0089_joblogentry__log_level_data_migration.py +34 -0
  427. nautobot/extras/migrations/0090_scheduledjob__data_migration.py +57 -0
  428. nautobot/extras/models/__init__.py +2 -3
  429. nautobot/extras/models/change_logging.py +0 -36
  430. nautobot/extras/models/customfields.py +39 -33
  431. nautobot/extras/models/datasources.py +48 -50
  432. nautobot/extras/models/groups.py +5 -12
  433. nautobot/extras/models/jobs.py +190 -323
  434. nautobot/extras/models/mixins.py +0 -71
  435. nautobot/extras/models/models.py +1 -22
  436. nautobot/extras/models/relationships.py +20 -21
  437. nautobot/extras/models/roles.py +0 -23
  438. nautobot/extras/models/secrets.py +2 -31
  439. nautobot/extras/models/statuses.py +6 -5
  440. nautobot/extras/models/tags.py +2 -17
  441. nautobot/extras/navigation.py +89 -307
  442. nautobot/extras/plugins/__init__.py +3 -121
  443. nautobot/extras/plugins/utils.py +0 -3
  444. nautobot/extras/plugins/validators.py +5 -4
  445. nautobot/extras/plugins/views.py +16 -4
  446. nautobot/extras/querysets.py +1 -7
  447. nautobot/extras/registry.py +3 -0
  448. nautobot/extras/signals.py +26 -60
  449. nautobot/extras/tables.py +42 -49
  450. nautobot/extras/tasks.py +0 -12
  451. nautobot/extras/templates/extras/configcontext.html +1 -1
  452. nautobot/extras/templates/extras/configcontextschema.html +16 -1
  453. nautobot/extras/templates/extras/customfield.html +0 -13
  454. nautobot/extras/templates/extras/dynamicgroup_edit.html +0 -1
  455. nautobot/extras/templates/extras/gitrepository.html +3 -3
  456. nautobot/extras/templates/extras/inc/jobresult.html +10 -0
  457. nautobot/extras/templates/extras/inc/panel_jobhistory.html +1 -1
  458. nautobot/extras/templates/extras/job.html +35 -25
  459. nautobot/extras/templates/extras/job_approval_request.html +15 -30
  460. nautobot/extras/templates/extras/job_detail.html +13 -31
  461. nautobot/extras/templates/extras/job_edit.html +14 -17
  462. nautobot/extras/templates/extras/jobresult.html +24 -6
  463. nautobot/extras/templates/extras/objectchange_list.html +1 -1
  464. nautobot/extras/templates/extras/scheduledjob.html +2 -2
  465. nautobot/extras/templates/extras/secret.html +28 -0
  466. nautobot/extras/templates/extras/secret_edit.html +0 -1
  467. nautobot/extras/templates/extras/secretsgroup_edit.html +0 -1
  468. nautobot/extras/templatetags/custom_links.py +0 -2
  469. nautobot/extras/templatetags/job_buttons.py +1 -0
  470. nautobot/extras/templatetags/plugins.py +0 -1
  471. nautobot/extras/{tests/example_jobs → test_jobs}/api_test_job.py +13 -6
  472. nautobot/extras/test_jobs/atomic_transaction.py +53 -0
  473. nautobot/extras/test_jobs/dry_run.py +29 -0
  474. nautobot/extras/{tests/example_jobs/test_duplicate_name.py → test_jobs/duplicate_name.py} +4 -0
  475. nautobot/extras/test_jobs/duplicate_name2.py +9 -0
  476. nautobot/extras/test_jobs/fail.py +23 -0
  477. nautobot/extras/{tests/example_jobs/test_field_default.py → test_jobs/field_default.py} +4 -0
  478. nautobot/extras/{tests/example_jobs/test_field_order.py → test_jobs/field_order.py} +4 -0
  479. nautobot/extras/{tests/example_jobs/test_file_upload_fail.py → test_jobs/file_upload_fail.py} +11 -6
  480. nautobot/extras/test_jobs/file_upload_pass.py +25 -0
  481. nautobot/extras/test_jobs/has_sensitive_variables.py +25 -0
  482. nautobot/extras/test_jobs/ipaddress_vars.py +66 -0
  483. nautobot/extras/test_jobs/job_button_receiver.py +28 -0
  484. nautobot/extras/test_jobs/job_hook_receiver.py +29 -0
  485. nautobot/extras/test_jobs/job_variables.py +88 -0
  486. nautobot/extras/test_jobs/location_with_custom_field.py +45 -0
  487. nautobot/extras/test_jobs/log_redaction.py +20 -0
  488. nautobot/extras/test_jobs/log_skip_db_logging.py +17 -0
  489. nautobot/extras/test_jobs/modify_db.py +25 -0
  490. nautobot/extras/{tests/example_jobs/test_no_field_order.py → test_jobs/no_field_order.py} +4 -0
  491. nautobot/extras/test_jobs/object_var_optional.py +21 -0
  492. nautobot/extras/test_jobs/object_var_required.py +21 -0
  493. nautobot/extras/test_jobs/object_vars.py +26 -0
  494. nautobot/extras/test_jobs/pass.py +25 -0
  495. nautobot/extras/test_jobs/profiling.py +32 -0
  496. nautobot/extras/test_jobs/read_only_job.py +15 -0
  497. nautobot/extras/{tests/example_jobs/test_required_args.py → test_jobs/required_args.py} +4 -0
  498. nautobot/extras/{tests/example_jobs/test_soft_time_limit_greater_than_time_limit.py → test_jobs/soft_time_limit_greater_than_time_limit.py} +5 -1
  499. nautobot/extras/{tests/example_jobs/test_task_queues.py → test_jobs/task_queues.py} +5 -1
  500. nautobot/extras/tests/integration/__init__.py +3 -3
  501. nautobot/extras/tests/integration/test_computedfields.py +1 -1
  502. nautobot/extras/tests/integration/test_configcontextschema.py +7 -5
  503. nautobot/extras/tests/integration/test_customfields.py +4 -2
  504. nautobot/extras/tests/integration/test_dynamicgroups.py +2 -2
  505. nautobot/extras/tests/integration/test_jobs.py +25 -27
  506. nautobot/extras/tests/integration/test_notes.py +8 -4
  507. nautobot/extras/tests/integration/test_plugins.py +4 -4
  508. nautobot/extras/tests/integration/test_relationships.py +2 -2
  509. nautobot/extras/tests/test_api.py +371 -381
  510. nautobot/extras/tests/test_changelog.py +17 -16
  511. nautobot/extras/tests/test_context_managers.py +5 -6
  512. nautobot/extras/tests/test_customfields.py +112 -73
  513. nautobot/extras/tests/test_datasources.py +191 -117
  514. nautobot/extras/tests/test_dynamicgroups.py +45 -68
  515. nautobot/extras/tests/test_filters.py +170 -130
  516. nautobot/extras/tests/test_forms.py +107 -109
  517. nautobot/extras/tests/{test_scripts.py → test_job_variables.py} +43 -49
  518. nautobot/extras/tests/test_jobs.py +271 -273
  519. nautobot/extras/tests/test_management.py +3 -6
  520. nautobot/extras/tests/test_migrations.py +5 -3
  521. nautobot/extras/tests/test_models.py +121 -173
  522. nautobot/extras/tests/test_notes.py +0 -1
  523. nautobot/extras/tests/test_plugins.py +55 -89
  524. nautobot/extras/tests/test_relationships.py +174 -130
  525. nautobot/extras/tests/test_tags.py +6 -12
  526. nautobot/extras/tests/test_utils.py +31 -1
  527. nautobot/extras/tests/test_views.py +223 -184
  528. nautobot/extras/tests/test_webhooks.py +16 -15
  529. nautobot/extras/urls.py +69 -69
  530. nautobot/extras/utils.py +137 -163
  531. nautobot/extras/views.py +81 -153
  532. nautobot/ipam/api/fields.py +17 -0
  533. nautobot/ipam/api/serializers.py +77 -164
  534. nautobot/ipam/api/urls.py +4 -1
  535. nautobot/ipam/api/views.py +28 -19
  536. nautobot/ipam/apps.py +1 -0
  537. nautobot/ipam/choices.py +5 -12
  538. nautobot/ipam/constants.py +1 -0
  539. nautobot/ipam/factory.py +41 -30
  540. nautobot/ipam/filters.py +58 -25
  541. nautobot/ipam/forms.py +82 -211
  542. nautobot/ipam/graphql/types.py +0 -9
  543. nautobot/ipam/lookups.py +13 -8
  544. nautobot/ipam/management/commands/__init__.py +0 -0
  545. nautobot/ipam/management/commands/fix_prefix_broadcast.py +17 -0
  546. nautobot/ipam/migrations/0001_initial_part_1.py +0 -1
  547. nautobot/ipam/migrations/0002_initial_part_2.py +0 -1
  548. nautobot/ipam/migrations/0003_remove_max_length.py +0 -1
  549. nautobot/ipam/migrations/0004_fixup_p2p_broadcast.py +0 -1
  550. nautobot/ipam/migrations/0005_auto_slug.py +0 -1
  551. nautobot/ipam/migrations/0006_ipaddress_nat_outside_list.py +0 -1
  552. nautobot/ipam/migrations/0007_add_natural_indexing.py +0 -1
  553. nautobot/ipam/migrations/0008_prefix_vlan_vlangroup_location.py +0 -1
  554. nautobot/ipam/migrations/0009_alter_vlan_name.py +0 -1
  555. nautobot/ipam/migrations/0010_alter_ipam_role_add_new_role.py +1 -2
  556. nautobot/ipam/migrations/0011_migrate_ipam_role_data.py +32 -39
  557. nautobot/ipam/migrations/0012_rename_ipam_roles.py +0 -1
  558. nautobot/ipam/migrations/0013_delete_role.py +0 -1
  559. nautobot/ipam/migrations/0014_rename_foreign_keys_and_related_names.py +0 -1
  560. nautobot/ipam/migrations/0015_prefix_add_type.py +0 -1
  561. nautobot/ipam/migrations/0016_prefix_type_data_migration.py +0 -3
  562. nautobot/ipam/migrations/0017_prefix_remove_is_pool.py +0 -1
  563. nautobot/ipam/migrations/0018_remove_site_foreign_key_from_ipam_models.py +0 -1
  564. nautobot/ipam/migrations/0019_created_datetime.py +0 -1
  565. nautobot/ipam/migrations/0020_related_name_changes.py +1 -2
  566. nautobot/ipam/migrations/0021_prefix_add_rir_and_date_allocated.py +0 -1
  567. nautobot/ipam/migrations/0022_aggregate_to_prefix_data_migration.py +3 -5
  568. nautobot/ipam/migrations/0023_delete_aggregate.py +0 -1
  569. nautobot/ipam/migrations/0024_interface_to_ipaddress_m2m.py +0 -1
  570. nautobot/ipam/migrations/0025_interface_ipaddress_m2m_data_migration.py +0 -1
  571. nautobot/ipam/migrations/0026_ipaddress_remove_assigned_object.py +0 -1
  572. nautobot/ipam/migrations/0027_remove_rir_slug.py +16 -0
  573. nautobot/ipam/migrations/0028_tagsfield.py +44 -0
  574. nautobot/ipam/migrations/0029_ip_address_to_interface_uniqueness_constraints.py +18 -0
  575. nautobot/ipam/migrations/0030_ipam__namespaces.py +231 -0
  576. nautobot/ipam/migrations/0031_ipam__prefix__add_parent.py +58 -0
  577. nautobot/ipam/migrations/0032_ipam__namespaces_finish.py +63 -0
  578. nautobot/ipam/migrations/0033_fixup_null_statuses.py +26 -0
  579. nautobot/ipam/migrations/0034_status_nonnullable.py +36 -0
  580. nautobot/ipam/models.py +579 -368
  581. nautobot/ipam/navigation.py +36 -159
  582. nautobot/ipam/querysets.py +117 -90
  583. nautobot/ipam/signals.py +89 -0
  584. nautobot/ipam/tables.py +86 -28
  585. nautobot/ipam/templates/ipam/ipaddress.html +14 -30
  586. nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -0
  587. nautobot/ipam/templates/ipam/namespace_ipaddresses.html +11 -0
  588. nautobot/ipam/templates/ipam/namespace_prefixes.html +11 -0
  589. nautobot/ipam/templates/ipam/namespace_retrieve.html +42 -0
  590. nautobot/ipam/templates/ipam/namespace_vrfs.html +11 -0
  591. nautobot/ipam/templates/ipam/prefix.html +27 -33
  592. nautobot/ipam/templates/ipam/prefix_edit.html +7 -1
  593. nautobot/ipam/templates/ipam/vlangroup.html +0 -13
  594. nautobot/ipam/templates/ipam/vrf.html +6 -4
  595. nautobot/ipam/templates/ipam/vrf_edit.html +20 -2
  596. nautobot/ipam/tests/integration/test_prefixes.py +4 -27
  597. nautobot/ipam/tests/test_api.py +60 -61
  598. nautobot/ipam/tests/test_filters.py +187 -126
  599. nautobot/ipam/tests/test_forms.py +12 -6
  600. nautobot/ipam/tests/test_graphql.py +8 -6
  601. nautobot/ipam/tests/test_migrations.py +8 -13
  602. nautobot/ipam/tests/test_models.py +426 -274
  603. nautobot/ipam/tests/test_ordering.py +6 -3
  604. nautobot/ipam/tests/test_querysets.py +340 -96
  605. nautobot/ipam/tests/test_views.py +100 -55
  606. nautobot/ipam/urls.py +28 -5
  607. nautobot/ipam/{utils.py → utils/__init__.py} +2 -2
  608. nautobot/ipam/utils/migrations.py +713 -0
  609. nautobot/ipam/views.py +237 -122
  610. nautobot/project-static/docs/404.html +1399 -166
  611. nautobot/project-static/docs/additional-features/caching.html +1416 -320
  612. nautobot/project-static/docs/additional-features/change-logging.html +1389 -190
  613. nautobot/project-static/docs/additional-features/config-contexts.html +1389 -190
  614. nautobot/project-static/docs/additional-features/graphql.html +1389 -190
  615. nautobot/project-static/docs/additional-features/healthcheck.html +1389 -190
  616. nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +1393 -190
  617. nautobot/project-static/docs/additional-features/jobs.html +1677 -460
  618. nautobot/project-static/docs/additional-features/napalm.html +1389 -190
  619. nautobot/project-static/docs/additional-features/prometheus-metrics.html +1389 -190
  620. nautobot/project-static/docs/additional-features/template-filters.html +1389 -190
  621. nautobot/project-static/docs/administration/celery-queues.html +1389 -190
  622. nautobot/project-static/docs/administration/nautobot-server.html +1553 -375
  623. nautobot/project-static/docs/administration/nautobot-shell.html +1395 -196
  624. nautobot/project-static/docs/administration/permissions.html +1389 -190
  625. nautobot/project-static/docs/administration/replicating-nautobot.html +1387 -207
  626. nautobot/project-static/docs/apps/index.html +1389 -190
  627. nautobot/project-static/docs/apps/nautobot-apps.html +1387 -175
  628. nautobot/project-static/docs/assets/javascripts/bundle.51198bba.min.js +29 -0
  629. nautobot/project-static/docs/assets/javascripts/bundle.51198bba.min.js.map +8 -0
  630. nautobot/project-static/docs/assets/javascripts/workers/{search.16e2a7d4.min.js → search.208ed371.min.js} +9 -15
  631. nautobot/project-static/docs/assets/javascripts/workers/{search.16e2a7d4.min.js.map → search.208ed371.min.js.map} +4 -4
  632. nautobot/project-static/docs/assets/stylesheets/main.ded33207.min.css +1 -0
  633. nautobot/project-static/docs/assets/stylesheets/main.ded33207.min.css.map +1 -0
  634. nautobot/project-static/docs/assets/stylesheets/palette.a0c5b2b5.min.css +1 -0
  635. nautobot/project-static/docs/assets/stylesheets/palette.a0c5b2b5.min.css.map +1 -0
  636. nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +1775 -590
  637. nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +1389 -190
  638. nautobot/project-static/docs/code-reference/nautobot/apps/api.html +3588 -1922
  639. nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +1461 -262
  640. nautobot/project-static/docs/code-reference/nautobot/apps/config.html +1401 -170
  641. nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +1396 -191
  642. nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +2095 -894
  643. nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +2357 -1194
  644. nautobot/project-static/docs/code-reference/nautobot/apps/models.html +2258 -940
  645. nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +1389 -190
  646. nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +1400 -201
  647. nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +11068 -7861
  648. nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +2867 -2224
  649. nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +1389 -190
  650. nautobot/project-static/docs/code-reference/nautobot/apps/views.html +2641 -1573
  651. nautobot/project-static/docs/configuration/authentication/ldap.html +1389 -190
  652. nautobot/project-static/docs/configuration/authentication/remote.html +1389 -190
  653. nautobot/project-static/docs/configuration/authentication/sso.html +1389 -190
  654. nautobot/project-static/docs/configuration/index.html +1398 -199
  655. nautobot/project-static/docs/configuration/optional-settings.html +1418 -274
  656. nautobot/project-static/docs/configuration/required-settings.html +1419 -287
  657. nautobot/project-static/docs/core-functionality/circuits.html +1446 -247
  658. nautobot/project-static/docs/core-functionality/device-types.html +1448 -249
  659. nautobot/project-static/docs/core-functionality/devices.html +1452 -249
  660. nautobot/project-static/docs/core-functionality/ipam.html +1452 -253
  661. nautobot/project-static/docs/core-functionality/power.html +1448 -249
  662. nautobot/project-static/docs/core-functionality/secrets.html +1448 -249
  663. nautobot/project-static/docs/core-functionality/services.html +1448 -249
  664. nautobot/project-static/docs/core-functionality/sites-and-racks.html +1448 -249
  665. nautobot/project-static/docs/core-functionality/tenancy.html +1448 -249
  666. nautobot/project-static/docs/core-functionality/virtualization.html +1452 -249
  667. nautobot/project-static/docs/core-functionality/vlans.html +1448 -249
  668. nautobot/project-static/docs/development/application-registry.html +1393 -214
  669. nautobot/project-static/docs/development/best-practices.html +1392 -192
  670. nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +1390 -191
  671. nautobot/project-static/docs/development/extending-models.html +1443 -257
  672. nautobot/project-static/docs/development/generic-views.html +1403 -174
  673. nautobot/project-static/docs/development/getting-started.html +1568 -262
  674. nautobot/project-static/docs/development/homepage.html +1389 -190
  675. nautobot/project-static/docs/development/index.html +1389 -190
  676. nautobot/project-static/docs/development/model-features.html +1389 -190
  677. nautobot/project-static/docs/development/natural-keys.html +1389 -190
  678. nautobot/project-static/docs/development/navigation-menu.html +1451 -330
  679. nautobot/project-static/docs/development/react-ui.html +4199 -0
  680. nautobot/project-static/docs/development/release-checklist.html +1392 -193
  681. nautobot/project-static/docs/development/role-internals.html +1402 -172
  682. nautobot/project-static/docs/development/style-guide.html +1399 -199
  683. nautobot/project-static/docs/development/templates.html +1391 -191
  684. nautobot/project-static/docs/development/testing.html +1389 -190
  685. nautobot/project-static/docs/development/user-preferences.html +1389 -190
  686. nautobot/project-static/docs/docker/index.html +1408 -206
  687. nautobot/project-static/docs/index.html +1397 -180
  688. nautobot/project-static/docs/installation/centos.html +1401 -170
  689. nautobot/project-static/docs/installation/external-authentication.html +1389 -190
  690. nautobot/project-static/docs/installation/http-server.html +1389 -190
  691. nautobot/project-static/docs/installation/index.html +1394 -191
  692. nautobot/project-static/docs/installation/migrating-from-netbox.html +1452 -305
  693. nautobot/project-static/docs/installation/migrating-from-postgresql.html +1390 -191
  694. nautobot/project-static/docs/installation/nautobot.html +1390 -191
  695. nautobot/project-static/docs/installation/region-and-site-data-migration-guide.html +1389 -190
  696. nautobot/project-static/docs/installation/selinux-troubleshooting.html +1401 -170
  697. nautobot/project-static/docs/installation/services.html +1389 -190
  698. nautobot/project-static/docs/installation/tables/v2-api-behavior-changes.yaml +70 -0
  699. nautobot/project-static/docs/installation/tables/v2-api-removed-fields.yaml +142 -0
  700. nautobot/project-static/docs/installation/tables/v2-api-renamed-fields.yaml +124 -0
  701. nautobot/project-static/docs/installation/tables/v2-code-location-changes.yaml +241 -0
  702. nautobot/project-static/docs/installation/tables/v2-code-removals.yaml +67 -0
  703. nautobot/project-static/docs/installation/tables/v2-database-behavior-changes.yaml +37 -0
  704. nautobot/project-static/docs/installation/tables/v2-database-removed-fields.yaml +166 -0
  705. nautobot/project-static/docs/installation/tables/v2-database-renamed-fields.yaml +340 -0
  706. nautobot/project-static/docs/installation/tables/v2-filters-corrected-fields.yaml +28 -0
  707. nautobot/project-static/docs/installation/tables/v2-filters-enhanced-fields.yaml +241 -0
  708. nautobot/project-static/docs/installation/tables/v2-filters-removed-fields.yaml +553 -0
  709. nautobot/project-static/docs/installation/tables/v2-filters-renamed-fields.yaml +223 -0
  710. nautobot/project-static/docs/installation/tables/v2-logging-renamed-loggers.yaml +23 -0
  711. nautobot/project-static/docs/installation/ubuntu.html +1401 -170
  712. nautobot/project-static/docs/installation/upgrading-from-nautobot-v1.html +4254 -1923
  713. nautobot/project-static/docs/installation/upgrading.html +1395 -192
  714. nautobot/project-static/docs/models/circuits/circuit.html +1427 -174
  715. nautobot/project-static/docs/models/circuits/circuittermination.html +1427 -174
  716. nautobot/project-static/docs/models/circuits/circuittype.html +1427 -174
  717. nautobot/project-static/docs/models/circuits/provider.html +1427 -174
  718. nautobot/project-static/docs/models/circuits/providernetwork.html +1427 -174
  719. nautobot/project-static/docs/models/dcim/cable.html +1458 -174
  720. nautobot/project-static/docs/models/dcim/consoleport.html +1427 -174
  721. nautobot/project-static/docs/models/dcim/consoleporttemplate.html +1427 -174
  722. nautobot/project-static/docs/models/dcim/consoleserverport.html +1427 -174
  723. nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +1427 -174
  724. nautobot/project-static/docs/models/dcim/device.html +1431 -174
  725. nautobot/project-static/docs/models/dcim/devicebay.html +1427 -174
  726. nautobot/project-static/docs/models/dcim/devicebaytemplate.html +1427 -174
  727. nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +1522 -177
  728. nautobot/project-static/docs/models/dcim/devicetype.html +1427 -174
  729. nautobot/project-static/docs/models/dcim/frontport.html +1427 -174
  730. nautobot/project-static/docs/models/dcim/frontporttemplate.html +1427 -174
  731. nautobot/project-static/docs/models/dcim/interface.html +1427 -174
  732. nautobot/project-static/docs/models/dcim/interfacetemplate.html +1427 -174
  733. nautobot/project-static/docs/models/dcim/inventoryitem.html +1427 -174
  734. nautobot/project-static/docs/models/dcim/location.html +1427 -174
  735. nautobot/project-static/docs/models/dcim/locationtype.html +1427 -174
  736. nautobot/project-static/docs/models/dcim/manufacturer.html +1427 -174
  737. nautobot/project-static/docs/models/dcim/platform.html +1427 -174
  738. nautobot/project-static/docs/models/dcim/powerfeed.html +1425 -172
  739. nautobot/project-static/docs/models/dcim/poweroutlet.html +1427 -174
  740. nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +1427 -174
  741. nautobot/project-static/docs/models/dcim/powerpanel.html +1425 -172
  742. nautobot/project-static/docs/models/dcim/powerport.html +1427 -174
  743. nautobot/project-static/docs/models/dcim/powerporttemplate.html +1427 -174
  744. nautobot/project-static/docs/models/dcim/rack.html +1427 -174
  745. nautobot/project-static/docs/models/dcim/rackgroup.html +1427 -174
  746. nautobot/project-static/docs/models/dcim/rackreservation.html +1427 -174
  747. nautobot/project-static/docs/models/dcim/rearport.html +1427 -174
  748. nautobot/project-static/docs/models/dcim/rearporttemplate.html +1427 -174
  749. nautobot/project-static/docs/models/dcim/region.html +1401 -170
  750. nautobot/project-static/docs/models/dcim/site.html +1401 -170
  751. nautobot/project-static/docs/models/dcim/virtualchassis.html +1425 -172
  752. nautobot/project-static/docs/models/extras/computedfield.html +1393 -194
  753. nautobot/project-static/docs/models/extras/configcontext.html +1465 -174
  754. nautobot/project-static/docs/models/extras/configcontextschema.html +1421 -168
  755. nautobot/project-static/docs/models/extras/customfield.html +1389 -190
  756. nautobot/project-static/docs/models/extras/customlink.html +1389 -190
  757. nautobot/project-static/docs/models/extras/dynamicgroup.html +1398 -199
  758. nautobot/project-static/docs/models/extras/exporttemplate.html +1389 -190
  759. nautobot/project-static/docs/models/extras/gitrepository.html +1393 -190
  760. nautobot/project-static/docs/models/extras/graphqlquery.html +1469 -171
  761. nautobot/project-static/docs/models/extras/imageattachment.html +1434 -181
  762. nautobot/project-static/docs/models/extras/job.html +1411 -157
  763. nautobot/project-static/docs/models/extras/jobbutton.html +1410 -207
  764. nautobot/project-static/docs/models/extras/jobhook.html +1397 -194
  765. nautobot/project-static/docs/models/extras/joblogentry.html +1408 -155
  766. nautobot/project-static/docs/models/extras/jobresult.html +1417 -159
  767. nautobot/project-static/docs/models/extras/note.html +1389 -190
  768. nautobot/project-static/docs/models/extras/relationship.html +1391 -192
  769. nautobot/project-static/docs/models/extras/role.html +1495 -198
  770. nautobot/project-static/docs/models/extras/secret.html +1492 -201
  771. nautobot/project-static/docs/models/extras/secretsgroup.html +1410 -157
  772. nautobot/project-static/docs/models/extras/status.html +1381 -221
  773. nautobot/project-static/docs/models/extras/tag.html +1389 -190
  774. nautobot/project-static/docs/models/extras/webhook.html +1389 -190
  775. nautobot/project-static/docs/models/ipam/ipaddress.html +1488 -200
  776. nautobot/project-static/docs/models/ipam/prefix.html +1410 -157
  777. nautobot/project-static/docs/models/ipam/rir.html +1410 -157
  778. nautobot/project-static/docs/models/ipam/routetarget.html +1410 -157
  779. nautobot/project-static/docs/models/ipam/service.html +1410 -157
  780. nautobot/project-static/docs/models/ipam/vlan.html +1410 -157
  781. nautobot/project-static/docs/models/ipam/vlangroup.html +1410 -157
  782. nautobot/project-static/docs/models/ipam/vrf.html +1410 -161
  783. nautobot/project-static/docs/models/tenancy/tenant.html +1412 -159
  784. nautobot/project-static/docs/models/tenancy/tenantgroup.html +1412 -159
  785. nautobot/project-static/docs/models/users/objectpermission.html +1462 -171
  786. nautobot/project-static/docs/models/users/token.html +1410 -157
  787. nautobot/project-static/docs/models/virtualization/cluster.html +1410 -157
  788. nautobot/project-static/docs/models/virtualization/clustergroup.html +1410 -157
  789. nautobot/project-static/docs/models/virtualization/clustertype.html +1410 -157
  790. nautobot/project-static/docs/models/virtualization/virtualmachine.html +1414 -157
  791. nautobot/project-static/docs/models/virtualization/vminterface.html +1410 -157
  792. nautobot/project-static/docs/objects.inv +0 -0
  793. nautobot/project-static/docs/plugins/development.html +1916 -646
  794. nautobot/project-static/docs/plugins/index.html +1389 -190
  795. nautobot/project-static/docs/plugins/porting-from-netbox.html +1389 -190
  796. nautobot/project-static/docs/release-notes/index.html +1389 -190
  797. nautobot/project-static/docs/release-notes/version-1.0.html +1389 -190
  798. nautobot/project-static/docs/release-notes/version-1.1.html +1389 -190
  799. nautobot/project-static/docs/release-notes/version-1.2.html +1389 -190
  800. nautobot/project-static/docs/release-notes/version-1.3.html +1389 -190
  801. nautobot/project-static/docs/release-notes/version-1.4.html +1389 -190
  802. nautobot/project-static/docs/release-notes/version-1.5.html +2016 -397
  803. nautobot/project-static/docs/release-notes/version-2.0.html +1935 -287
  804. nautobot/project-static/docs/requirements.txt +5 -4
  805. nautobot/project-static/docs/rest-api/authentication.html +1389 -190
  806. nautobot/project-static/docs/rest-api/filtering.html +1389 -190
  807. nautobot/project-static/docs/rest-api/overview.html +2002 -576
  808. nautobot/project-static/docs/rest-api/ui-related-endpoints.html +4057 -0
  809. nautobot/project-static/docs/search/search_index.json +1 -1
  810. nautobot/project-static/docs/sitemap.xml +197 -187
  811. nautobot/project-static/docs/sitemap.xml.gz +0 -0
  812. nautobot/project-static/docs/user-guides/custom-fields.html +1390 -191
  813. nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +1392 -193
  814. nautobot/project-static/docs/user-guides/getting-started/index.html +1388 -189
  815. nautobot/project-static/docs/user-guides/getting-started/interfaces.html +1388 -189
  816. nautobot/project-static/docs/user-guides/getting-started/ipam.html +1386 -187
  817. nautobot/project-static/docs/user-guides/getting-started/platforms.html +1448 -249
  818. nautobot/project-static/docs/user-guides/getting-started/regions.html +1411 -212
  819. nautobot/project-static/docs/user-guides/getting-started/search-bar.html +1395 -196
  820. nautobot/project-static/docs/user-guides/getting-started/tenants.html +1448 -249
  821. nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +1448 -249
  822. nautobot/project-static/docs/user-guides/git-data-source.html +1405 -206
  823. nautobot/project-static/docs/user-guides/graphql.html +1402 -203
  824. nautobot/project-static/docs/user-guides/relationships.html +1448 -249
  825. nautobot/project-static/docs/user-guides/s3-django-storage.html +1448 -249
  826. nautobot/project-static/js/forms.js +16 -9
  827. nautobot/project-static/js/theme.js +5 -0
  828. nautobot/tenancy/api/serializers.py +4 -34
  829. nautobot/tenancy/api/urls.py +1 -1
  830. nautobot/tenancy/filters/__init__.py +9 -7
  831. nautobot/tenancy/filters/mixins.py +3 -2
  832. nautobot/tenancy/forms.py +3 -36
  833. nautobot/tenancy/migrations/0001_initial.py +0 -1
  834. nautobot/tenancy/migrations/0002_auto_slug.py +0 -1
  835. nautobot/tenancy/migrations/0003_mptt_to_tree_queries.py +0 -1
  836. nautobot/tenancy/migrations/0004_change_tree_manager_on_tree_models.py +0 -1
  837. nautobot/tenancy/migrations/0005_rename_foreign_keys_and_related_names.py +0 -1
  838. nautobot/tenancy/migrations/0006_created_datetime.py +0 -1
  839. nautobot/tenancy/migrations/0007_remove_tenant_tenantgroup_slug.py +20 -0
  840. nautobot/tenancy/migrations/0008_tagsfield.py +19 -0
  841. nautobot/tenancy/models.py +0 -30
  842. nautobot/tenancy/navigation.py +6 -39
  843. nautobot/tenancy/tables.py +4 -4
  844. nautobot/tenancy/templates/tenancy/tenant.html +12 -12
  845. nautobot/tenancy/templates/tenancy/tenant_edit.html +0 -1
  846. nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
  847. nautobot/tenancy/tests/test_api.py +1 -12
  848. nautobot/tenancy/tests/test_filters.py +20 -12
  849. nautobot/tenancy/tests/test_views.py +11 -29
  850. nautobot/tenancy/urls.py +10 -10
  851. nautobot/tenancy/views.py +0 -3
  852. nautobot/ui/.eslintignore +6 -0
  853. nautobot/ui/.gitignore +10 -0
  854. nautobot/ui/.prettierignore +9 -0
  855. nautobot/ui/.prettierrc +4 -0
  856. nautobot/ui/README.md +33 -0
  857. nautobot/ui/app_imports.js.j2 +7 -0
  858. nautobot/ui/craco.config.js +46 -0
  859. nautobot/ui/jsconfig-base.json +11 -0
  860. nautobot/ui/jsconfig.json +5 -0
  861. nautobot/ui/lib/nautobot-craco-alias-plugin.js +40 -0
  862. nautobot/ui/package-lock.json +21451 -0
  863. nautobot/ui/package.json +70 -0
  864. nautobot/ui/public/index.html +47 -0
  865. nautobot/ui/public/logo192.png +0 -0
  866. nautobot/ui/public/logo512.png +0 -0
  867. nautobot/ui/public/manifest.json +25 -0
  868. nautobot/ui/public/nautobot_logo.svg +131 -0
  869. nautobot/ui/public/robots.txt +3 -0
  870. nautobot/ui/src/App.js +71 -0
  871. nautobot/ui/src/components/AppFullWidthComponents.js +8 -0
  872. nautobot/ui/src/components/AppTab.js +40 -0
  873. nautobot/ui/src/components/Apps.js +60 -0
  874. nautobot/ui/src/components/HomeChangelogPanel.js +98 -0
  875. nautobot/ui/src/components/HomePanel.js +58 -0
  876. nautobot/ui/src/components/JobHistoryTable.js +78 -0
  877. nautobot/ui/src/components/Layout.js +53 -0
  878. nautobot/ui/src/components/LoadingWidget.js +25 -0
  879. nautobot/ui/src/components/Navbar.js +116 -0
  880. nautobot/ui/src/components/NotificationPopover.js +27 -0
  881. nautobot/ui/src/components/ObjectListTable.js +209 -0
  882. nautobot/ui/src/components/ReferenceDataTag.js +35 -0
  883. nautobot/ui/src/components/RouterButton.js +10 -0
  884. nautobot/ui/src/components/RouterLink.js +10 -0
  885. nautobot/ui/src/components/SidebarNav.js +147 -0
  886. nautobot/ui/src/components/Table.js +48 -0
  887. nautobot/ui/src/components/TableItem.js +71 -0
  888. nautobot/ui/src/components/__tests__/AppFullWidthComponents.test.js +16 -0
  889. nautobot/ui/src/components/__tests__/AppTab.test.js +21 -0
  890. nautobot/ui/src/components/__tests__/Apps.test.js +14 -0
  891. nautobot/ui/src/components/__tests__/Layout.test.js +33 -0
  892. nautobot/ui/src/components/__tests__/Table.test.js +36 -0
  893. nautobot/ui/src/components/__tests__/TableItem.test.js +37 -0
  894. nautobot/ui/src/components/__tests__/paginator.test.js +43 -0
  895. nautobot/ui/src/components/__tests__/paginator_form.test.js +13 -0
  896. nautobot/ui/src/components/pagination.js +93 -0
  897. nautobot/ui/src/components/paginator.js +79 -0
  898. nautobot/ui/src/components/paginator_form.js +43 -0
  899. nautobot/ui/src/components/usePagination.js +57 -0
  900. nautobot/ui/src/constants/apiPath.js +10 -0
  901. nautobot/ui/src/constants/icons.js +15 -0
  902. nautobot/ui/src/constants/size.js +15 -0
  903. nautobot/ui/src/index.js +65 -0
  904. nautobot/ui/src/reportWebVitals.js +15 -0
  905. nautobot/ui/src/router.js +77 -0
  906. nautobot/ui/src/utils/api.js +131 -0
  907. nautobot/ui/src/utils/app-import.js +15 -0
  908. nautobot/ui/src/utils/color.js +15 -0
  909. nautobot/ui/src/utils/date.js +14 -0
  910. nautobot/ui/src/utils/index.js +15 -0
  911. nautobot/ui/src/utils/navigation.js +32 -0
  912. nautobot/ui/src/utils/session.js +64 -0
  913. nautobot/ui/src/utils/store.js +242 -0
  914. nautobot/ui/src/utils/string.js +6 -0
  915. nautobot/ui/src/utils/url.js +4 -0
  916. nautobot/ui/src/views/Home.js +138 -0
  917. nautobot/ui/src/views/InstalledApps.js +80 -0
  918. nautobot/ui/src/views/Login.js +48 -0
  919. nautobot/ui/src/views/Logout.js +20 -0
  920. nautobot/ui/src/views/__tests__/BSCreateViewTemplate.test.js +11 -0
  921. nautobot/ui/src/views/__tests__/BSListViewTemplate.test.js +107 -0
  922. nautobot/ui/src/views/__tests__/Login.test.js +15 -0
  923. nautobot/ui/src/views/generic/GenericView.js +142 -0
  924. nautobot/ui/src/views/generic/ObjectCreate.js +96 -0
  925. nautobot/ui/src/views/generic/ObjectList.js +127 -0
  926. nautobot/ui/src/views/generic/ObjectRetrieve.js +551 -0
  927. nautobot/users/admin.py +1 -1
  928. nautobot/users/api/serializers.py +51 -61
  929. nautobot/users/api/urls.py +1 -1
  930. nautobot/users/api/views.py +53 -2
  931. nautobot/users/migrations/0001_initial.py +0 -1
  932. nautobot/users/migrations/0002_token_ordering_by_created.py +0 -1
  933. nautobot/users/migrations/0003_alter_user_options.py +0 -1
  934. nautobot/users/migrations/0004_alter_user_managers.py +0 -1
  935. nautobot/users/tests/test_api.py +109 -28
  936. nautobot/users/tests/test_filters.py +0 -4
  937. nautobot/users/tests/test_models.py +0 -1
  938. nautobot/users/views.py +0 -7
  939. nautobot/virtualization/api/serializers.py +18 -132
  940. nautobot/virtualization/api/urls.py +1 -1
  941. nautobot/virtualization/api/views.py +1 -22
  942. nautobot/virtualization/choices.py +0 -2
  943. nautobot/virtualization/filters.py +12 -7
  944. nautobot/virtualization/forms.py +21 -117
  945. nautobot/virtualization/migrations/0001_initial.py +0 -1
  946. nautobot/virtualization/migrations/0002_virtualmachine_local_context_schema.py +0 -1
  947. nautobot/virtualization/migrations/0003_vminterface_verbose_name.py +0 -1
  948. nautobot/virtualization/migrations/0004_auto_slug.py +0 -1
  949. nautobot/virtualization/migrations/0005_add_natural_indexing.py +0 -1
  950. nautobot/virtualization/migrations/0006_vminterface_status.py +0 -1
  951. nautobot/virtualization/migrations/0007_vminterface_status_data_migration.py +0 -1
  952. nautobot/virtualization/migrations/0008_vminterface_parent.py +0 -1
  953. nautobot/virtualization/migrations/0009_cluster_location.py +0 -1
  954. nautobot/virtualization/migrations/0010_vminterface_mac_address_data_migration.py +0 -1
  955. nautobot/virtualization/migrations/0011_alter_vminterface_mac_address.py +0 -1
  956. nautobot/virtualization/migrations/0012_alter_virtualmachine_role_add_new_role.py +1 -2
  957. nautobot/virtualization/migrations/0013_migrate_virtualmachine_role_data.py +18 -12
  958. nautobot/virtualization/migrations/0014_rename_virtualmachine_roles.py +0 -1
  959. nautobot/virtualization/migrations/0015_rename_foreignkey_fields.py +1 -2
  960. nautobot/virtualization/migrations/0016_remove_site_foreign_key_from_cluster_class.py +0 -1
  961. nautobot/virtualization/migrations/0017_created_datetime.py +0 -1
  962. nautobot/virtualization/migrations/0018_related_name_changes.py +1 -2
  963. nautobot/virtualization/migrations/0019_vminterface_ip_addresses_m2m.py +0 -1
  964. nautobot/virtualization/migrations/0020_remove_clustergroup_clustertype_slug.py +20 -0
  965. nautobot/virtualization/migrations/0021_tagsfield_and_vminterface_to_primarymodel.py +39 -0
  966. nautobot/virtualization/migrations/0022_vminterface_timestamps_data_migration.py +17 -0
  967. nautobot/virtualization/migrations/0023_ipam__namespaces.py +25 -0
  968. nautobot/virtualization/migrations/0024_fixup_null_statuses.py +25 -0
  969. nautobot/virtualization/migrations/0025_status_nonnullable.py +29 -0
  970. nautobot/virtualization/models.py +39 -131
  971. nautobot/virtualization/navigation.py +18 -99
  972. nautobot/virtualization/tables.py +4 -4
  973. nautobot/virtualization/templates/virtualization/virtualmachine.html +13 -2
  974. nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +6 -0
  975. nautobot/virtualization/tests/test_api.py +42 -52
  976. nautobot/virtualization/tests/test_filters.py +98 -75
  977. nautobot/virtualization/tests/test_models.py +36 -13
  978. nautobot/virtualization/tests/test_views.py +68 -73
  979. nautobot/virtualization/urls.py +10 -10
  980. nautobot/virtualization/views.py +8 -14
  981. {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/METADATA +15 -22
  982. {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/RECORD +987 -834
  983. {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/WHEEL +1 -1
  984. nautobot/circuits/api/nested_serializers.py +0 -69
  985. nautobot/core/templates/plugin_template/navigation.py-tpl +0 -22
  986. nautobot/dcim/api/nested_serializers.py +0 -356
  987. nautobot/dcim/templates/dcim/device_import.html +0 -5
  988. nautobot/dcim/templates/dcim/device_import_child.html +0 -5
  989. nautobot/dcim/templates/dcim/inc/device_import_header.html +0 -4
  990. nautobot/extras/api/nested_serializers.py +0 -353
  991. nautobot/extras/migrations/0064_configcontext_data_migrations.py +0 -42
  992. nautobot/extras/migrations/0071_job__unique_name_data_migration.py +0 -47
  993. nautobot/extras/reports.py +0 -60
  994. nautobot/extras/scripts.py +0 -72
  995. nautobot/extras/tests/example_jobs/script_variables.py +0 -67
  996. nautobot/extras/tests/example_jobs/test_duplicate_name2.py +0 -5
  997. nautobot/extras/tests/example_jobs/test_fail.py +0 -16
  998. nautobot/extras/tests/example_jobs/test_file_upload_pass.py +0 -20
  999. nautobot/extras/tests/example_jobs/test_ipaddress_vars.py +0 -52
  1000. nautobot/extras/tests/example_jobs/test_job_button_receiver.py +0 -21
  1001. nautobot/extras/tests/example_jobs/test_job_hook_receiver.py +0 -20
  1002. nautobot/extras/tests/example_jobs/test_location_with_custom_field.py +0 -35
  1003. nautobot/extras/tests/example_jobs/test_log_redaction.py +0 -14
  1004. nautobot/extras/tests/example_jobs/test_modify_db.py +0 -19
  1005. nautobot/extras/tests/example_jobs/test_object_var_optional.py +0 -14
  1006. nautobot/extras/tests/example_jobs/test_object_var_required.py +0 -14
  1007. nautobot/extras/tests/example_jobs/test_object_vars.py +0 -29
  1008. nautobot/extras/tests/example_jobs/test_pass.py +0 -19
  1009. nautobot/extras/tests/example_jobs/test_read_only_fail.py +0 -24
  1010. nautobot/extras/tests/example_jobs/test_read_only_no_commit_field.py +0 -10
  1011. nautobot/extras/tests/example_jobs/test_read_only_pass.py +0 -22
  1012. nautobot/ipam/api/nested_serializers.py +0 -143
  1013. nautobot/project-static/docs/assets/javascripts/bundle.5a2dcb6a.min.js +0 -29
  1014. nautobot/project-static/docs/assets/javascripts/bundle.5a2dcb6a.min.js.map +0 -8
  1015. nautobot/project-static/docs/assets/javascripts/extra/bundle.5f09fbc3.min.js +0 -18
  1016. nautobot/project-static/docs/assets/javascripts/extra/bundle.5f09fbc3.min.js.map +0 -8
  1017. nautobot/project-static/docs/assets/stylesheets/extra.0d2c79a8.min.css +0 -1
  1018. nautobot/project-static/docs/assets/stylesheets/extra.0d2c79a8.min.css.map +0 -1
  1019. nautobot/project-static/docs/assets/stylesheets/main.975780f9.min.css +0 -1
  1020. nautobot/project-static/docs/assets/stylesheets/main.975780f9.min.css.map +0 -1
  1021. nautobot/project-static/docs/assets/stylesheets/palette.2505c338.min.css +0 -1
  1022. nautobot/project-static/docs/assets/stylesheets/palette.2505c338.min.css.map +0 -1
  1023. nautobot/tenancy/api/nested_serializers.py +0 -31
  1024. nautobot/users/api/nested_serializers.py +0 -67
  1025. nautobot/virtualization/api/nested_serializers.py +0 -65
  1026. /nautobot/extras/{tests/example_jobs → test_jobs}/__init__.py +0 -0
  1027. /nautobot/{dcim/models/sites.py → ipam/management/__init__.py} +0 -0
  1028. {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/LICENSE.txt +0 -0
  1029. {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/entry_points.txt +0 -0
@@ -10,8 +10,14 @@
10
10
 
11
11
  <link rel="canonical" href="https://docs.nautobot.com/projects/core/en/stable/configuration/required-settings.html">
12
12
 
13
+
14
+ <link rel="prev" href="index.html">
15
+
16
+
17
+ <link rel="next" href="optional-settings.html">
18
+
13
19
  <link rel="icon" href="../assets/favicon.ico">
14
- <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-8.5.10">
20
+ <meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.6">
15
21
 
16
22
 
17
23
 
@@ -19,11 +25,10 @@
19
25
 
20
26
 
21
27
 
22
- <link rel="stylesheet" href="../assets/stylesheets/main.975780f9.min.css">
28
+ <link rel="stylesheet" href="../assets/stylesheets/main.ded33207.min.css">
23
29
 
24
30
 
25
- <link rel="stylesheet" href="../assets/stylesheets/palette.2505c338.min.css">
26
-
31
+ <link rel="stylesheet" href="../assets/stylesheets/palette.a0c5b2b5.min.css">
27
32
 
28
33
 
29
34
 
@@ -86,7 +91,7 @@
86
91
 
87
92
 
88
93
 
89
- <header class="md-header md-header--lifted" data-md-component="header">
94
+ <header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
90
95
  <nav class="md-header__inner md-grid" aria-label="Header">
91
96
  <a href="../index.html" title="Nautobot Documentation" class="md-header__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
92
97
 
@@ -116,8 +121,6 @@
116
121
  <form class="md-header__option" data-md-component="palette">
117
122
 
118
123
 
119
-
120
-
121
124
  <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
122
125
 
123
126
  <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
@@ -126,8 +129,6 @@
126
129
 
127
130
 
128
131
 
129
-
130
-
131
132
  <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
132
133
 
133
134
  <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
@@ -171,7 +172,7 @@
171
172
  <div class="md-search-result__meta">
172
173
  Initializing search
173
174
  </div>
174
- <ol class="md-search-result__list"></ol>
175
+ <ol class="md-search-result__list" role="presentation"></ol>
175
176
  </div>
176
177
  </div>
177
178
  </div>
@@ -183,7 +184,7 @@
183
184
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
184
185
  <div class="md-source__icon md-icon">
185
186
 
186
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
187
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
187
188
  </div>
188
189
  <div class="md-source__repository">
189
190
  GitHub
@@ -196,7 +197,7 @@
196
197
 
197
198
 
198
199
  <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
199
- <div class="md-tabs__inner md-grid">
200
+ <div class="md-grid">
200
201
  <ul class="md-tabs__list">
201
202
 
202
203
 
@@ -351,7 +352,7 @@
351
352
  <a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
352
353
  <div class="md-source__icon md-icon">
353
354
 
354
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
355
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
355
356
  </div>
356
357
  <div class="md-source__repository">
357
358
  GitHub
@@ -389,17 +390,18 @@
389
390
  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
390
391
 
391
392
 
392
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" checked>
393
393
 
394
394
 
395
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
396
+
395
397
 
396
398
 
397
- <label class="md-nav__link" for="__nav_2">
399
+ <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
398
400
  Documentation
399
401
  <span class="md-nav__icon md-icon"></span>
400
402
  </label>
401
403
 
402
- <nav class="md-nav" aria-label="Documentation" data-md-level="1">
404
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
403
405
  <label class="md-nav__title" for="__nav_2">
404
406
  <span class="md-nav__icon md-icon"></span>
405
407
  Documentation
@@ -415,17 +417,18 @@
415
417
  <li class="md-nav__item md-nav__item--nested">
416
418
 
417
419
 
418
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_1" type="checkbox" id="__nav_2_1" >
419
420
 
420
421
 
422
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" >
421
423
 
422
424
 
423
- <label class="md-nav__link" for="__nav_2_1">
425
+
426
+ <label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
424
427
  Installation
425
428
  <span class="md-nav__icon md-icon"></span>
426
429
  </label>
427
430
 
428
- <nav class="md-nav" aria-label="Installation" data-md-level="2">
431
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
429
432
  <label class="md-nav__title" for="__nav_2_1">
430
433
  <span class="md-nav__icon md-icon"></span>
431
434
  Installation
@@ -532,17 +535,18 @@
532
535
  <li class="md-nav__item md-nav__item--nested">
533
536
 
534
537
 
535
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_2" type="checkbox" id="__nav_2_2" >
536
538
 
537
539
 
540
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
541
+
538
542
 
539
543
 
540
- <label class="md-nav__link" for="__nav_2_2">
544
+ <label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
541
545
  Migration
542
546
  <span class="md-nav__icon md-icon"></span>
543
547
  </label>
544
548
 
545
- <nav class="md-nav" aria-label="Migration" data-md-level="2">
549
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
546
550
  <label class="md-nav__title" for="__nav_2_2">
547
551
  <span class="md-nav__icon md-icon"></span>
548
552
  Migration
@@ -637,17 +641,18 @@
637
641
  <li class="md-nav__item md-nav__item--active md-nav__item--nested">
638
642
 
639
643
 
640
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_3" type="checkbox" id="__nav_2_3" checked>
641
644
 
642
645
 
646
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" checked>
643
647
 
644
648
 
645
- <label class="md-nav__link" for="__nav_2_3">
649
+
650
+ <label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
646
651
  Configuration
647
652
  <span class="md-nav__icon md-icon"></span>
648
653
  </label>
649
654
 
650
- <nav class="md-nav" aria-label="Configuration" data-md-level="2">
655
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="true">
651
656
  <label class="md-nav__title" for="__nav_2_3">
652
657
  <span class="md-nav__icon md-icon"></span>
653
658
  Configuration
@@ -677,7 +682,7 @@
677
682
 
678
683
  <li class="md-nav__item md-nav__item--active">
679
684
 
680
- <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
685
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
681
686
 
682
687
 
683
688
 
@@ -747,26 +752,6 @@
747
752
  Caching
748
753
  </a>
749
754
 
750
- <nav class="md-nav" aria-label="Caching">
751
- <ul class="md-nav__list">
752
-
753
- <li class="md-nav__item">
754
- <a href="#cacheops_redis" class="md-nav__link">
755
- CACHEOPS_REDIS
756
- </a>
757
-
758
- </li>
759
-
760
- <li class="md-nav__item">
761
- <a href="#cacheops_sentinel" class="md-nav__link">
762
- CACHEOPS_SENTINEL
763
- </a>
764
-
765
- </li>
766
-
767
- </ul>
768
- </nav>
769
-
770
755
  </li>
771
756
 
772
757
  <li class="md-nav__item">
@@ -881,17 +866,18 @@
881
866
  <li class="md-nav__item md-nav__item--nested">
882
867
 
883
868
 
884
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_4" type="checkbox" id="__nav_2_4" >
885
869
 
886
870
 
871
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
887
872
 
888
873
 
889
- <label class="md-nav__link" for="__nav_2_4">
874
+
875
+ <label class="md-nav__link" for="__nav_2_4" id="__nav_2_4_label" tabindex="0">
890
876
  External Authentication
891
877
  <span class="md-nav__icon md-icon"></span>
892
878
  </label>
893
879
 
894
- <nav class="md-nav" aria-label="External Authentication" data-md-level="2">
880
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
895
881
  <label class="md-nav__title" for="__nav_2_4">
896
882
  <span class="md-nav__icon md-icon"></span>
897
883
  External Authentication
@@ -956,17 +942,18 @@
956
942
  <li class="md-nav__item md-nav__item--nested">
957
943
 
958
944
 
959
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
960
945
 
961
946
 
947
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
948
+
962
949
 
963
950
 
964
- <label class="md-nav__link" for="__nav_2_5">
951
+ <label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
965
952
  Administration
966
953
  <span class="md-nav__icon md-icon"></span>
967
954
  </label>
968
955
 
969
- <nav class="md-nav" aria-label="Administration" data-md-level="2">
956
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
970
957
  <label class="md-nav__title" for="__nav_2_5">
971
958
  <span class="md-nav__icon md-icon"></span>
972
959
  Administration
@@ -1059,17 +1046,18 @@
1059
1046
  <li class="md-nav__item md-nav__item--nested">
1060
1047
 
1061
1048
 
1062
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_6" type="checkbox" id="__nav_2_6" >
1063
1049
 
1064
1050
 
1051
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6" >
1065
1052
 
1066
1053
 
1067
- <label class="md-nav__link" for="__nav_2_6">
1054
+
1055
+ <label class="md-nav__link" for="__nav_2_6" id="__nav_2_6_label" tabindex="0">
1068
1056
  User Guides
1069
1057
  <span class="md-nav__icon md-icon"></span>
1070
1058
  </label>
1071
1059
 
1072
- <nav class="md-nav" aria-label="User Guides" data-md-level="2">
1060
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false">
1073
1061
  <label class="md-nav__title" for="__nav_2_6">
1074
1062
  <span class="md-nav__icon md-icon"></span>
1075
1063
  User Guides
@@ -1185,8 +1173,1115 @@
1185
1173
  </a>
1186
1174
  </li>
1187
1175
 
1188
-
1189
-
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+ <li class="md-nav__item">
1185
+ <a href="../user-guides/getting-started/regions.html" class="md-nav__link">
1186
+ Regions
1187
+ </a>
1188
+ </li>
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+ <li class="md-nav__item">
1199
+ <a href="../user-guides/getting-started/tenants.html" class="md-nav__link">
1200
+ Tenants
1201
+ </a>
1202
+ </li>
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+ <li class="md-nav__item">
1213
+ <a href="../user-guides/getting-started/search-bar.html" class="md-nav__link">
1214
+ The Search Bar
1215
+ </a>
1216
+ </li>
1217
+
1218
+
1219
+
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+ <li class="md-nav__item">
1227
+ <a href="../user-guides/git-data-source.html" class="md-nav__link">
1228
+ Git as a Data Source
1229
+ </a>
1230
+ </li>
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+ <li class="md-nav__item">
1241
+ <a href="../user-guides/graphql.html" class="md-nav__link">
1242
+ GraphQL
1243
+ </a>
1244
+ </li>
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+ <li class="md-nav__item">
1255
+ <a href="../user-guides/relationships.html" class="md-nav__link">
1256
+ Relationships
1257
+ </a>
1258
+ </li>
1259
+
1260
+
1261
+
1262
+
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+ <li class="md-nav__item">
1269
+ <a href="../user-guides/s3-django-storage.html" class="md-nav__link">
1270
+ Django Storages with S3
1271
+ </a>
1272
+ </li>
1273
+
1274
+
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+ <li class="md-nav__item">
1283
+ <a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
1284
+ VLANS and VLAN Groups
1285
+ </a>
1286
+ </li>
1287
+
1288
+
1289
+
1290
+
1291
+ </ul>
1292
+ </nav>
1293
+ </li>
1294
+
1295
+
1296
+
1297
+
1298
+
1299
+
1300
+
1301
+
1302
+
1303
+
1304
+ <li class="md-nav__item md-nav__item--nested">
1305
+
1306
+
1307
+
1308
+
1309
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
1310
+
1311
+
1312
+
1313
+ <label class="md-nav__link" for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
1314
+ Core Functionality
1315
+ <span class="md-nav__icon md-icon"></span>
1316
+ </label>
1317
+
1318
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
1319
+ <label class="md-nav__title" for="__nav_2_7">
1320
+ <span class="md-nav__icon md-icon"></span>
1321
+ Core Functionality
1322
+ </label>
1323
+ <ul class="md-nav__list" data-md-scrollfix>
1324
+
1325
+
1326
+
1327
+
1328
+
1329
+
1330
+ <li class="md-nav__item">
1331
+ <a href="../core-functionality/circuits.html" class="md-nav__link">
1332
+ Circuits
1333
+ </a>
1334
+ </li>
1335
+
1336
+
1337
+
1338
+
1339
+
1340
+
1341
+
1342
+
1343
+
1344
+ <li class="md-nav__item">
1345
+ <a href="../core-functionality/devices.html" class="md-nav__link">
1346
+ Devices and Cabling
1347
+ </a>
1348
+ </li>
1349
+
1350
+
1351
+
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+ <li class="md-nav__item">
1359
+ <a href="../core-functionality/device-types.html" class="md-nav__link">
1360
+ Device Types
1361
+ </a>
1362
+ </li>
1363
+
1364
+
1365
+
1366
+
1367
+
1368
+
1369
+
1370
+
1371
+
1372
+ <li class="md-nav__item">
1373
+ <a href="../core-functionality/ipam.html" class="md-nav__link">
1374
+ IP Address Management
1375
+ </a>
1376
+ </li>
1377
+
1378
+
1379
+
1380
+
1381
+
1382
+
1383
+
1384
+
1385
+
1386
+ <li class="md-nav__item">
1387
+ <a href="../core-functionality/power.html" class="md-nav__link">
1388
+ Power Tracking
1389
+ </a>
1390
+ </li>
1391
+
1392
+
1393
+
1394
+
1395
+
1396
+
1397
+
1398
+
1399
+
1400
+ <li class="md-nav__item">
1401
+ <a href="../core-functionality/secrets.html" class="md-nav__link">
1402
+ Secrets
1403
+ </a>
1404
+ </li>
1405
+
1406
+
1407
+
1408
+
1409
+
1410
+
1411
+
1412
+
1413
+
1414
+ <li class="md-nav__item">
1415
+ <a href="../core-functionality/services.html" class="md-nav__link">
1416
+ Service Mapping
1417
+ </a>
1418
+ </li>
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+
1425
+
1426
+
1427
+
1428
+ <li class="md-nav__item">
1429
+ <a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
1430
+ Sites, Locations, and Racks
1431
+ </a>
1432
+ </li>
1433
+
1434
+
1435
+
1436
+
1437
+
1438
+
1439
+
1440
+
1441
+
1442
+ <li class="md-nav__item">
1443
+ <a href="../core-functionality/tenancy.html" class="md-nav__link">
1444
+ Tenancy
1445
+ </a>
1446
+ </li>
1447
+
1448
+
1449
+
1450
+
1451
+
1452
+
1453
+
1454
+
1455
+
1456
+ <li class="md-nav__item">
1457
+ <a href="../core-functionality/virtualization.html" class="md-nav__link">
1458
+ Virtualization
1459
+ </a>
1460
+ </li>
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+ <li class="md-nav__item">
1471
+ <a href="../core-functionality/vlans.html" class="md-nav__link">
1472
+ VLAN Management
1473
+ </a>
1474
+ </li>
1475
+
1476
+
1477
+
1478
+
1479
+ </ul>
1480
+ </nav>
1481
+ </li>
1482
+
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+
1490
+
1491
+
1492
+ <li class="md-nav__item md-nav__item--nested">
1493
+
1494
+
1495
+
1496
+
1497
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8" >
1498
+
1499
+
1500
+
1501
+ <label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex="0">
1502
+ Model Details
1503
+ <span class="md-nav__icon md-icon"></span>
1504
+ </label>
1505
+
1506
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
1507
+ <label class="md-nav__title" for="__nav_2_8">
1508
+ <span class="md-nav__icon md-icon"></span>
1509
+ Model Details
1510
+ </label>
1511
+ <ul class="md-nav__list" data-md-scrollfix>
1512
+
1513
+
1514
+
1515
+
1516
+
1517
+
1518
+
1519
+ <li class="md-nav__item md-nav__item--nested">
1520
+
1521
+
1522
+
1523
+
1524
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_1" >
1525
+
1526
+
1527
+
1528
+ <label class="md-nav__link" for="__nav_2_8_1" id="__nav_2_8_1_label" tabindex="0">
1529
+ Circuits
1530
+ <span class="md-nav__icon md-icon"></span>
1531
+ </label>
1532
+
1533
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_1_label" aria-expanded="false">
1534
+ <label class="md-nav__title" for="__nav_2_8_1">
1535
+ <span class="md-nav__icon md-icon"></span>
1536
+ Circuits
1537
+ </label>
1538
+ <ul class="md-nav__list" data-md-scrollfix>
1539
+
1540
+
1541
+
1542
+
1543
+
1544
+
1545
+ <li class="md-nav__item">
1546
+ <a href="../models/circuits/circuit.html" class="md-nav__link">
1547
+ Circuit
1548
+ </a>
1549
+ </li>
1550
+
1551
+
1552
+
1553
+
1554
+
1555
+
1556
+
1557
+
1558
+
1559
+ <li class="md-nav__item">
1560
+ <a href="../models/circuits/circuittermination.html" class="md-nav__link">
1561
+ Circuit Termination
1562
+ </a>
1563
+ </li>
1564
+
1565
+
1566
+
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+
1573
+ <li class="md-nav__item">
1574
+ <a href="../models/circuits/circuittype.html" class="md-nav__link">
1575
+ Circuit Type
1576
+ </a>
1577
+ </li>
1578
+
1579
+
1580
+
1581
+
1582
+
1583
+
1584
+
1585
+
1586
+
1587
+ <li class="md-nav__item">
1588
+ <a href="../models/circuits/provider.html" class="md-nav__link">
1589
+ Circuit Provider
1590
+ </a>
1591
+ </li>
1592
+
1593
+
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+ <li class="md-nav__item">
1602
+ <a href="../models/circuits/providernetwork.html" class="md-nav__link">
1603
+ Circuit Provider Network
1604
+ </a>
1605
+ </li>
1606
+
1607
+
1608
+
1609
+
1610
+ </ul>
1611
+ </nav>
1612
+ </li>
1613
+
1614
+
1615
+
1616
+
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+
1623
+ <li class="md-nav__item md-nav__item--nested">
1624
+
1625
+
1626
+
1627
+
1628
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_2" >
1629
+
1630
+
1631
+
1632
+ <label class="md-nav__link" for="__nav_2_8_2" id="__nav_2_8_2_label" tabindex="0">
1633
+ DCIM
1634
+ <span class="md-nav__icon md-icon"></span>
1635
+ </label>
1636
+
1637
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_2_label" aria-expanded="false">
1638
+ <label class="md-nav__title" for="__nav_2_8_2">
1639
+ <span class="md-nav__icon md-icon"></span>
1640
+ DCIM
1641
+ </label>
1642
+ <ul class="md-nav__list" data-md-scrollfix>
1643
+
1644
+
1645
+
1646
+
1647
+
1648
+
1649
+ <li class="md-nav__item">
1650
+ <a href="../models/dcim/cable.html" class="md-nav__link">
1651
+ Cable
1652
+ </a>
1653
+ </li>
1654
+
1655
+
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+ <li class="md-nav__item">
1664
+ <a href="../models/dcim/consoleport.html" class="md-nav__link">
1665
+ Console Port
1666
+ </a>
1667
+ </li>
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+ <li class="md-nav__item">
1678
+ <a href="../models/dcim/consoleporttemplate.html" class="md-nav__link">
1679
+ Console Port Template
1680
+ </a>
1681
+ </li>
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1691
+ <li class="md-nav__item">
1692
+ <a href="../models/dcim/consoleserverport.html" class="md-nav__link">
1693
+ Console Server Port
1694
+ </a>
1695
+ </li>
1696
+
1697
+
1698
+
1699
+
1700
+
1701
+
1702
+
1703
+
1704
+
1705
+ <li class="md-nav__item">
1706
+ <a href="../models/dcim/consoleserverporttemplate.html" class="md-nav__link">
1707
+ Console Server Port Template
1708
+ </a>
1709
+ </li>
1710
+
1711
+
1712
+
1713
+
1714
+
1715
+
1716
+
1717
+
1718
+
1719
+ <li class="md-nav__item">
1720
+ <a href="../models/dcim/device.html" class="md-nav__link">
1721
+ Device
1722
+ </a>
1723
+ </li>
1724
+
1725
+
1726
+
1727
+
1728
+
1729
+
1730
+
1731
+
1732
+
1733
+ <li class="md-nav__item">
1734
+ <a href="../models/dcim/devicebay.html" class="md-nav__link">
1735
+ Device Bay
1736
+ </a>
1737
+ </li>
1738
+
1739
+
1740
+
1741
+
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+ <li class="md-nav__item">
1748
+ <a href="../models/dcim/devicebaytemplate.html" class="md-nav__link">
1749
+ Device Bay Template
1750
+ </a>
1751
+ </li>
1752
+
1753
+
1754
+
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+ <li class="md-nav__item">
1762
+ <a href="../models/dcim/deviceredundancygroup.html" class="md-nav__link">
1763
+ Device Redundancy Group
1764
+ </a>
1765
+ </li>
1766
+
1767
+
1768
+
1769
+
1770
+
1771
+
1772
+
1773
+
1774
+
1775
+ <li class="md-nav__item">
1776
+ <a href="../models/dcim/devicetype.html" class="md-nav__link">
1777
+ Device Type
1778
+ </a>
1779
+ </li>
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+ <li class="md-nav__item">
1790
+ <a href="../models/dcim/frontport.html" class="md-nav__link">
1791
+ Front Port
1792
+ </a>
1793
+ </li>
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+
1802
+
1803
+ <li class="md-nav__item">
1804
+ <a href="../models/dcim/frontporttemplate.html" class="md-nav__link">
1805
+ Front Port Template
1806
+ </a>
1807
+ </li>
1808
+
1809
+
1810
+
1811
+
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+ <li class="md-nav__item">
1818
+ <a href="../models/dcim/interface.html" class="md-nav__link">
1819
+ Interface
1820
+ </a>
1821
+ </li>
1822
+
1823
+
1824
+
1825
+
1826
+
1827
+
1828
+
1829
+
1830
+
1831
+ <li class="md-nav__item">
1832
+ <a href="../models/dcim/interfacetemplate.html" class="md-nav__link">
1833
+ Interface Template
1834
+ </a>
1835
+ </li>
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+
1843
+
1844
+
1845
+ <li class="md-nav__item">
1846
+ <a href="../models/dcim/inventoryitem.html" class="md-nav__link">
1847
+ Inventory Item
1848
+ </a>
1849
+ </li>
1850
+
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+ <li class="md-nav__item">
1860
+ <a href="../models/dcim/location.html" class="md-nav__link">
1861
+ Location
1862
+ </a>
1863
+ </li>
1864
+
1865
+
1866
+
1867
+
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+ <li class="md-nav__item">
1874
+ <a href="../models/dcim/locationtype.html" class="md-nav__link">
1875
+ Location Type
1876
+ </a>
1877
+ </li>
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+ <li class="md-nav__item">
1888
+ <a href="../models/dcim/manufacturer.html" class="md-nav__link">
1889
+ Manufacturer
1890
+ </a>
1891
+ </li>
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+ <li class="md-nav__item">
1902
+ <a href="../models/dcim/platform.html" class="md-nav__link">
1903
+ Platform
1904
+ </a>
1905
+ </li>
1906
+
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+
1913
+
1914
+
1915
+ <li class="md-nav__item">
1916
+ <a href="../models/dcim/powerfeed.html" class="md-nav__link">
1917
+ Power Feed
1918
+ </a>
1919
+ </li>
1920
+
1921
+
1922
+
1923
+
1924
+
1925
+
1926
+
1927
+
1928
+
1929
+ <li class="md-nav__item">
1930
+ <a href="../models/dcim/poweroutlet.html" class="md-nav__link">
1931
+ Power Outlet
1932
+ </a>
1933
+ </li>
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+
1940
+
1941
+
1942
+
1943
+ <li class="md-nav__item">
1944
+ <a href="../models/dcim/poweroutlettemplate.html" class="md-nav__link">
1945
+ Power Outlet Template
1946
+ </a>
1947
+ </li>
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+ <li class="md-nav__item">
1958
+ <a href="../models/dcim/powerpanel.html" class="md-nav__link">
1959
+ Power Panel
1960
+ </a>
1961
+ </li>
1962
+
1963
+
1964
+
1965
+
1966
+
1967
+
1968
+
1969
+
1970
+
1971
+ <li class="md-nav__item">
1972
+ <a href="../models/dcim/powerport.html" class="md-nav__link">
1973
+ Power Port
1974
+ </a>
1975
+ </li>
1976
+
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+ <li class="md-nav__item">
1986
+ <a href="../models/dcim/powerporttemplate.html" class="md-nav__link">
1987
+ Power Port Template
1988
+ </a>
1989
+ </li>
1990
+
1991
+
1992
+
1993
+
1994
+
1995
+
1996
+
1997
+
1998
+
1999
+ <li class="md-nav__item">
2000
+ <a href="../models/dcim/rack.html" class="md-nav__link">
2001
+ Rack
2002
+ </a>
2003
+ </li>
2004
+
2005
+
2006
+
2007
+
2008
+
2009
+
2010
+
2011
+
2012
+
2013
+ <li class="md-nav__item">
2014
+ <a href="../models/dcim/rackgroup.html" class="md-nav__link">
2015
+ Rack Group
2016
+ </a>
2017
+ </li>
2018
+
2019
+
2020
+
2021
+
2022
+
2023
+
2024
+
2025
+
2026
+
2027
+ <li class="md-nav__item">
2028
+ <a href="../models/dcim/rackreservation.html" class="md-nav__link">
2029
+ Rack Reservation
2030
+ </a>
2031
+ </li>
2032
+
2033
+
2034
+
2035
+
2036
+
2037
+
2038
+
2039
+
2040
+
2041
+ <li class="md-nav__item">
2042
+ <a href="../models/dcim/rearport.html" class="md-nav__link">
2043
+ Rear Port
2044
+ </a>
2045
+ </li>
2046
+
2047
+
2048
+
2049
+
2050
+
2051
+
2052
+
2053
+
2054
+
2055
+ <li class="md-nav__item">
2056
+ <a href="../models/dcim/rearporttemplate.html" class="md-nav__link">
2057
+ Rear Port Template
2058
+ </a>
2059
+ </li>
2060
+
2061
+
2062
+
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+ <li class="md-nav__item">
2070
+ <a href="../models/dcim/virtualchassis.html" class="md-nav__link">
2071
+ Virtual Chassis
2072
+ </a>
2073
+ </li>
2074
+
2075
+
2076
+
2077
+
2078
+ </ul>
2079
+ </nav>
2080
+ </li>
2081
+
2082
+
2083
+
2084
+
2085
+
2086
+
2087
+
2088
+
2089
+
2090
+
2091
+ <li class="md-nav__item md-nav__item--nested">
2092
+
2093
+
2094
+
2095
+
2096
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_3" >
2097
+
2098
+
2099
+
2100
+ <label class="md-nav__link" for="__nav_2_8_3" id="__nav_2_8_3_label" tabindex="0">
2101
+ Extras
2102
+ <span class="md-nav__icon md-icon"></span>
2103
+ </label>
2104
+
2105
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_3_label" aria-expanded="false">
2106
+ <label class="md-nav__title" for="__nav_2_8_3">
2107
+ <span class="md-nav__icon md-icon"></span>
2108
+ Extras
2109
+ </label>
2110
+ <ul class="md-nav__list" data-md-scrollfix>
2111
+
2112
+
2113
+
2114
+
2115
+
2116
+
2117
+ <li class="md-nav__item">
2118
+ <a href="../models/extras/configcontext.html" class="md-nav__link">
2119
+ Config Context
2120
+ </a>
2121
+ </li>
2122
+
2123
+
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+ <li class="md-nav__item">
2132
+ <a href="../models/extras/configcontextschema.html" class="md-nav__link">
2133
+ Config Context Schema
2134
+ </a>
2135
+ </li>
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+
2145
+ <li class="md-nav__item">
2146
+ <a href="../models/extras/graphqlquery.html" class="md-nav__link">
2147
+ GraphQL Query
2148
+ </a>
2149
+ </li>
2150
+
2151
+
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+ <li class="md-nav__item">
2160
+ <a href="../models/extras/imageattachment.html" class="md-nav__link">
2161
+ Image Attachment
2162
+ </a>
2163
+ </li>
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+ <li class="md-nav__item">
2174
+ <a href="../models/extras/job.html" class="md-nav__link">
2175
+ Job
2176
+ </a>
2177
+ </li>
2178
+
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+
2187
+ <li class="md-nav__item">
2188
+ <a href="../models/extras/joblogentry.html" class="md-nav__link">
2189
+ Job Log Entry
2190
+ </a>
2191
+ </li>
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+
2201
+ <li class="md-nav__item">
2202
+ <a href="../models/extras/jobresult.html" class="md-nav__link">
2203
+ Job Result
2204
+ </a>
2205
+ </li>
2206
+
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+
2213
+
2214
+
2215
+ <li class="md-nav__item">
2216
+ <a href="../models/extras/role.html" class="md-nav__link">
2217
+ Role
2218
+ </a>
2219
+ </li>
2220
+
2221
+
2222
+
2223
+
2224
+
2225
+
2226
+
2227
+
2228
+
2229
+ <li class="md-nav__item">
2230
+ <a href="../models/extras/secret.html" class="md-nav__link">
2231
+ Secret
2232
+ </a>
2233
+ </li>
2234
+
2235
+
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+ <li class="md-nav__item">
2244
+ <a href="../models/extras/secretsgroup.html" class="md-nav__link">
2245
+ Secrets group
2246
+ </a>
2247
+ </li>
2248
+
2249
+
2250
+
2251
+
2252
+ </ul>
2253
+ </nav>
2254
+ </li>
2255
+
2256
+
2257
+
2258
+
2259
+
2260
+
2261
+
2262
+
2263
+
2264
+
2265
+ <li class="md-nav__item md-nav__item--nested">
2266
+
2267
+
2268
+
2269
+
2270
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_4" >
2271
+
2272
+
2273
+
2274
+ <label class="md-nav__link" for="__nav_2_8_4" id="__nav_2_8_4_label" tabindex="0">
2275
+ IPAM
2276
+ <span class="md-nav__icon md-icon"></span>
2277
+ </label>
2278
+
2279
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_4_label" aria-expanded="false">
2280
+ <label class="md-nav__title" for="__nav_2_8_4">
2281
+ <span class="md-nav__icon md-icon"></span>
2282
+ IPAM
2283
+ </label>
2284
+ <ul class="md-nav__list" data-md-scrollfix>
1190
2285
 
1191
2286
 
1192
2287
 
@@ -1194,8 +2289,8 @@
1194
2289
 
1195
2290
 
1196
2291
  <li class="md-nav__item">
1197
- <a href="../user-guides/getting-started/regions.html" class="md-nav__link">
1198
- Regions
2292
+ <a href="../models/ipam/ipaddress.html" class="md-nav__link">
2293
+ IP Address
1199
2294
  </a>
1200
2295
  </li>
1201
2296
 
@@ -1208,8 +2303,8 @@
1208
2303
 
1209
2304
 
1210
2305
  <li class="md-nav__item">
1211
- <a href="../user-guides/getting-started/tenants.html" class="md-nav__link">
1212
- Tenants
2306
+ <a href="../models/ipam/prefix.html" class="md-nav__link">
2307
+ Prefix
1213
2308
  </a>
1214
2309
  </li>
1215
2310
 
@@ -1222,8 +2317,8 @@
1222
2317
 
1223
2318
 
1224
2319
  <li class="md-nav__item">
1225
- <a href="../user-guides/getting-started/search-bar.html" class="md-nav__link">
1226
- The Search Bar
2320
+ <a href="../models/ipam/rir.html" class="md-nav__link">
2321
+ Rir
1227
2322
  </a>
1228
2323
  </li>
1229
2324
 
@@ -1236,8 +2331,8 @@
1236
2331
 
1237
2332
 
1238
2333
  <li class="md-nav__item">
1239
- <a href="../user-guides/git-data-source.html" class="md-nav__link">
1240
- Git as a Data Source
2334
+ <a href="../models/ipam/routetarget.html" class="md-nav__link">
2335
+ Route Target
1241
2336
  </a>
1242
2337
  </li>
1243
2338
 
@@ -1250,8 +2345,8 @@
1250
2345
 
1251
2346
 
1252
2347
  <li class="md-nav__item">
1253
- <a href="../user-guides/graphql.html" class="md-nav__link">
1254
- GraphQL
2348
+ <a href="../models/ipam/service.html" class="md-nav__link">
2349
+ Service
1255
2350
  </a>
1256
2351
  </li>
1257
2352
 
@@ -1264,8 +2359,8 @@
1264
2359
 
1265
2360
 
1266
2361
  <li class="md-nav__item">
1267
- <a href="../user-guides/relationships.html" class="md-nav__link">
1268
- Relationships
2362
+ <a href="../models/ipam/vlan.html" class="md-nav__link">
2363
+ VLAN
1269
2364
  </a>
1270
2365
  </li>
1271
2366
 
@@ -1278,8 +2373,8 @@
1278
2373
 
1279
2374
 
1280
2375
  <li class="md-nav__item">
1281
- <a href="../user-guides/s3-django-storage.html" class="md-nav__link">
1282
- Django Storages with S3
2376
+ <a href="../models/ipam/vlangroup.html" class="md-nav__link">
2377
+ VLAN Group
1283
2378
  </a>
1284
2379
  </li>
1285
2380
 
@@ -1292,8 +2387,8 @@
1292
2387
 
1293
2388
 
1294
2389
  <li class="md-nav__item">
1295
- <a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
1296
- VLANS and VLAN Groups
2390
+ <a href="../models/ipam/vrf.html" class="md-nav__link">
2391
+ VRF
1297
2392
  </a>
1298
2393
  </li>
1299
2394
 
@@ -1316,20 +2411,21 @@
1316
2411
  <li class="md-nav__item md-nav__item--nested">
1317
2412
 
1318
2413
 
1319
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_7" type="checkbox" id="__nav_2_7" >
1320
2414
 
1321
2415
 
2416
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_5" >
1322
2417
 
1323
2418
 
1324
- <label class="md-nav__link" for="__nav_2_7">
1325
- Core Functionality
2419
+
2420
+ <label class="md-nav__link" for="__nav_2_8_5" id="__nav_2_8_5_label" tabindex="0">
2421
+ Tenancy
1326
2422
  <span class="md-nav__icon md-icon"></span>
1327
2423
  </label>
1328
2424
 
1329
- <nav class="md-nav" aria-label="Core Functionality" data-md-level="2">
1330
- <label class="md-nav__title" for="__nav_2_7">
2425
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_5_label" aria-expanded="false">
2426
+ <label class="md-nav__title" for="__nav_2_8_5">
1331
2427
  <span class="md-nav__icon md-icon"></span>
1332
- Core Functionality
2428
+ Tenancy
1333
2429
  </label>
1334
2430
  <ul class="md-nav__list" data-md-scrollfix>
1335
2431
 
@@ -1339,8 +2435,8 @@
1339
2435
 
1340
2436
 
1341
2437
  <li class="md-nav__item">
1342
- <a href="../core-functionality/circuits.html" class="md-nav__link">
1343
- Circuits
2438
+ <a href="../models/tenancy/tenant.html" class="md-nav__link">
2439
+ Tenant
1344
2440
  </a>
1345
2441
  </li>
1346
2442
 
@@ -1353,27 +2449,47 @@
1353
2449
 
1354
2450
 
1355
2451
  <li class="md-nav__item">
1356
- <a href="../core-functionality/devices.html" class="md-nav__link">
1357
- Devices and Cabling
2452
+ <a href="../models/tenancy/tenantgroup.html" class="md-nav__link">
2453
+ Tenant Group
1358
2454
  </a>
1359
2455
  </li>
1360
2456
 
1361
2457
 
1362
2458
 
1363
2459
 
2460
+ </ul>
2461
+ </nav>
2462
+ </li>
2463
+
2464
+
2465
+
2466
+
1364
2467
 
1365
2468
 
1366
2469
 
1367
2470
 
1368
2471
 
1369
- <li class="md-nav__item">
1370
- <a href="../core-functionality/device-types.html" class="md-nav__link">
1371
- Device Types
1372
- </a>
1373
- </li>
1374
-
1375
-
1376
-
2472
+
2473
+ <li class="md-nav__item md-nav__item--nested">
2474
+
2475
+
2476
+
2477
+
2478
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_6" >
2479
+
2480
+
2481
+
2482
+ <label class="md-nav__link" for="__nav_2_8_6" id="__nav_2_8_6_label" tabindex="0">
2483
+ Users
2484
+ <span class="md-nav__icon md-icon"></span>
2485
+ </label>
2486
+
2487
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_6_label" aria-expanded="false">
2488
+ <label class="md-nav__title" for="__nav_2_8_6">
2489
+ <span class="md-nav__icon md-icon"></span>
2490
+ Users
2491
+ </label>
2492
+ <ul class="md-nav__list" data-md-scrollfix>
1377
2493
 
1378
2494
 
1379
2495
 
@@ -1381,8 +2497,8 @@
1381
2497
 
1382
2498
 
1383
2499
  <li class="md-nav__item">
1384
- <a href="../core-functionality/ipam.html" class="md-nav__link">
1385
- IP Address Management
2500
+ <a href="../models/users/objectpermission.html" class="md-nav__link">
2501
+ Object Permission
1386
2502
  </a>
1387
2503
  </li>
1388
2504
 
@@ -1395,27 +2511,47 @@
1395
2511
 
1396
2512
 
1397
2513
  <li class="md-nav__item">
1398
- <a href="../core-functionality/power.html" class="md-nav__link">
1399
- Power Tracking
2514
+ <a href="../models/users/token.html" class="md-nav__link">
2515
+ Token
1400
2516
  </a>
1401
2517
  </li>
1402
2518
 
1403
2519
 
1404
2520
 
1405
2521
 
2522
+ </ul>
2523
+ </nav>
2524
+ </li>
2525
+
2526
+
2527
+
2528
+
1406
2529
 
1407
2530
 
1408
2531
 
1409
2532
 
1410
2533
 
1411
- <li class="md-nav__item">
1412
- <a href="../core-functionality/secrets.html" class="md-nav__link">
1413
- Secrets
1414
- </a>
1415
- </li>
1416
-
1417
-
1418
-
2534
+
2535
+ <li class="md-nav__item md-nav__item--nested">
2536
+
2537
+
2538
+
2539
+
2540
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_7" >
2541
+
2542
+
2543
+
2544
+ <label class="md-nav__link" for="__nav_2_8_7" id="__nav_2_8_7_label" tabindex="0">
2545
+ Virtualization
2546
+ <span class="md-nav__icon md-icon"></span>
2547
+ </label>
2548
+
2549
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_7_label" aria-expanded="false">
2550
+ <label class="md-nav__title" for="__nav_2_8_7">
2551
+ <span class="md-nav__icon md-icon"></span>
2552
+ Virtualization
2553
+ </label>
2554
+ <ul class="md-nav__list" data-md-scrollfix>
1419
2555
 
1420
2556
 
1421
2557
 
@@ -1423,8 +2559,8 @@
1423
2559
 
1424
2560
 
1425
2561
  <li class="md-nav__item">
1426
- <a href="../core-functionality/services.html" class="md-nav__link">
1427
- Service Mapping
2562
+ <a href="../models/virtualization/cluster.html" class="md-nav__link">
2563
+ Cluster
1428
2564
  </a>
1429
2565
  </li>
1430
2566
 
@@ -1437,8 +2573,8 @@
1437
2573
 
1438
2574
 
1439
2575
  <li class="md-nav__item">
1440
- <a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
1441
- Sites, Locations, and Racks
2576
+ <a href="../models/virtualization/clustergroup.html" class="md-nav__link">
2577
+ Cluster Group
1442
2578
  </a>
1443
2579
  </li>
1444
2580
 
@@ -1451,8 +2587,8 @@
1451
2587
 
1452
2588
 
1453
2589
  <li class="md-nav__item">
1454
- <a href="../core-functionality/tenancy.html" class="md-nav__link">
1455
- Tenancy
2590
+ <a href="../models/virtualization/clustertype.html" class="md-nav__link">
2591
+ Cluster Type
1456
2592
  </a>
1457
2593
  </li>
1458
2594
 
@@ -1465,8 +2601,8 @@
1465
2601
 
1466
2602
 
1467
2603
  <li class="md-nav__item">
1468
- <a href="../core-functionality/virtualization.html" class="md-nav__link">
1469
- Virtualization
2604
+ <a href="../models/virtualization/virtualmachine.html" class="md-nav__link">
2605
+ Virtual Machine
1470
2606
  </a>
1471
2607
  </li>
1472
2608
 
@@ -1479,8 +2615,8 @@
1479
2615
 
1480
2616
 
1481
2617
  <li class="md-nav__item">
1482
- <a href="../core-functionality/vlans.html" class="md-nav__link">
1483
- VLAN Management
2618
+ <a href="../models/virtualization/vminterface.html" class="md-nav__link">
2619
+ VM Interface
1484
2620
  </a>
1485
2621
  </li>
1486
2622
 
@@ -1494,6 +2630,13 @@
1494
2630
 
1495
2631
 
1496
2632
 
2633
+ </ul>
2634
+ </nav>
2635
+ </li>
2636
+
2637
+
2638
+
2639
+
1497
2640
 
1498
2641
 
1499
2642
 
@@ -1503,18 +2646,19 @@
1503
2646
  <li class="md-nav__item md-nav__item--nested">
1504
2647
 
1505
2648
 
1506
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_8" type="checkbox" id="__nav_2_8" >
1507
2649
 
1508
2650
 
2651
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
2652
+
1509
2653
 
1510
2654
 
1511
- <label class="md-nav__link" for="__nav_2_8">
2655
+ <label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
1512
2656
  Additional Features
1513
2657
  <span class="md-nav__icon md-icon"></span>
1514
2658
  </label>
1515
2659
 
1516
- <nav class="md-nav" aria-label="Additional Features" data-md-level="2">
1517
- <label class="md-nav__title" for="__nav_2_8">
2660
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
2661
+ <label class="md-nav__title" for="__nav_2_9">
1518
2662
  <span class="md-nav__icon md-icon"></span>
1519
2663
  Additional Features
1520
2664
  </label>
@@ -1844,18 +2988,19 @@
1844
2988
  <li class="md-nav__item md-nav__item--nested">
1845
2989
 
1846
2990
 
1847
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_9" type="checkbox" id="__nav_2_9" >
1848
2991
 
1849
2992
 
2993
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" >
1850
2994
 
1851
2995
 
1852
- <label class="md-nav__link" for="__nav_2_9">
2996
+
2997
+ <label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
1853
2998
  REST API
1854
2999
  <span class="md-nav__icon md-icon"></span>
1855
3000
  </label>
1856
3001
 
1857
- <nav class="md-nav" aria-label="REST API" data-md-level="2">
1858
- <label class="md-nav__title" for="__nav_2_9">
3002
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
3003
+ <label class="md-nav__title" for="__nav_2_10">
1859
3004
  <span class="md-nav__icon md-icon"></span>
1860
3005
  REST API
1861
3006
  </label>
@@ -1903,6 +3048,20 @@
1903
3048
 
1904
3049
 
1905
3050
 
3051
+
3052
+
3053
+
3054
+
3055
+
3056
+ <li class="md-nav__item">
3057
+ <a href="../rest-api/ui-related-endpoints.html" class="md-nav__link">
3058
+ UI Endpoints
3059
+ </a>
3060
+ </li>
3061
+
3062
+
3063
+
3064
+
1906
3065
  </ul>
1907
3066
  </nav>
1908
3067
  </li>
@@ -1919,18 +3078,19 @@
1919
3078
  <li class="md-nav__item md-nav__item--nested">
1920
3079
 
1921
3080
 
1922
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_10" type="checkbox" id="__nav_2_10" >
1923
3081
 
1924
3082
 
3083
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
3084
+
1925
3085
 
1926
3086
 
1927
- <label class="md-nav__link" for="__nav_2_10">
3087
+ <label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
1928
3088
  GraphQL API
1929
3089
  <span class="md-nav__icon md-icon"></span>
1930
3090
  </label>
1931
3091
 
1932
- <nav class="md-nav" aria-label="GraphQL API" data-md-level="2">
1933
- <label class="md-nav__title" for="__nav_2_10">
3092
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
3093
+ <label class="md-nav__title" for="__nav_2_11">
1934
3094
  <span class="md-nav__icon md-icon"></span>
1935
3095
  GraphQL API
1936
3096
  </label>
@@ -1988,17 +3148,18 @@
1988
3148
  <li class="md-nav__item md-nav__item--nested">
1989
3149
 
1990
3150
 
1991
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
1992
3151
 
1993
3152
 
3153
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
3154
+
1994
3155
 
1995
3156
 
1996
- <label class="md-nav__link" for="__nav_3">
3157
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
1997
3158
  App Developer Guide
1998
3159
  <span class="md-nav__icon md-icon"></span>
1999
3160
  </label>
2000
3161
 
2001
- <nav class="md-nav" aria-label="App Developer Guide" data-md-level="1">
3162
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
2002
3163
  <label class="md-nav__title" for="__nav_3">
2003
3164
  <span class="md-nav__icon md-icon"></span>
2004
3165
  App Developer Guide
@@ -2042,17 +3203,18 @@
2042
3203
  <li class="md-nav__item md-nav__item--nested">
2043
3204
 
2044
3205
 
2045
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_3" type="checkbox" id="__nav_3_3" >
2046
3206
 
2047
3207
 
3208
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
2048
3209
 
2049
3210
 
2050
- <label class="md-nav__link" for="__nav_3_3">
3211
+
3212
+ <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
2051
3213
  Code Reference
2052
3214
  <span class="md-nav__icon md-icon"></span>
2053
3215
  </label>
2054
3216
 
2055
- <nav class="md-nav" aria-label="Code Reference" data-md-level="2">
3217
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
2056
3218
  <label class="md-nav__title" for="__nav_3_3">
2057
3219
  <span class="md-nav__icon md-icon"></span>
2058
3220
  Code Reference
@@ -2279,17 +3441,18 @@
2279
3441
  <li class="md-nav__item md-nav__item--nested">
2280
3442
 
2281
3443
 
2282
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
2283
3444
 
2284
3445
 
3446
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
3447
+
2285
3448
 
2286
3449
 
2287
- <label class="md-nav__link" for="__nav_4">
3450
+ <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
2288
3451
  Core Developer Guide
2289
3452
  <span class="md-nav__icon md-icon"></span>
2290
3453
  </label>
2291
3454
 
2292
- <nav class="md-nav" aria-label="Core Developer Guide" data-md-level="1">
3455
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
2293
3456
  <label class="md-nav__title" for="__nav_4">
2294
3457
  <span class="md-nav__icon md-icon"></span>
2295
3458
  Core Developer Guide
@@ -2523,17 +3686,18 @@
2523
3686
  <li class="md-nav__item md-nav__item--nested">
2524
3687
 
2525
3688
 
2526
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
2527
3689
 
2528
3690
 
3691
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
2529
3692
 
2530
3693
 
2531
- <label class="md-nav__link" for="__nav_5">
3694
+
3695
+ <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
2532
3696
  Release Notes
2533
3697
  <span class="md-nav__icon md-icon"></span>
2534
3698
  </label>
2535
3699
 
2536
- <nav class="md-nav" aria-label="Release Notes" data-md-level="1">
3700
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
2537
3701
  <label class="md-nav__title" for="__nav_5">
2538
3702
  <span class="md-nav__icon md-icon"></span>
2539
3703
  Release Notes
@@ -2669,17 +3833,18 @@
2669
3833
  <li class="md-nav__item md-nav__item--nested">
2670
3834
 
2671
3835
 
2672
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
2673
3836
 
2674
3837
 
3838
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
3839
+
2675
3840
 
2676
3841
 
2677
- <label class="md-nav__link" for="__nav_6">
3842
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
2678
3843
  Nautobot Apps
2679
3844
  <span class="md-nav__icon md-icon"></span>
2680
3845
  </label>
2681
3846
 
2682
- <nav class="md-nav" aria-label="Nautobot Apps" data-md-level="1">
3847
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
2683
3848
  <label class="md-nav__title" for="__nav_6">
2684
3849
  <span class="md-nav__icon md-icon"></span>
2685
3850
  Nautobot Apps
@@ -2709,17 +3874,18 @@
2709
3874
  <li class="md-nav__item md-nav__item--nested">
2710
3875
 
2711
3876
 
2712
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
2713
3877
 
2714
3878
 
3879
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
2715
3880
 
2716
3881
 
2717
- <label class="md-nav__link" for="__nav_6_2">
3882
+
3883
+ <label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
2718
3884
  Network to Code App Docs
2719
3885
  <span class="md-nav__icon md-icon"></span>
2720
3886
  </label>
2721
3887
 
2722
- <nav class="md-nav" aria-label="Network to Code App Docs" data-md-level="2">
3888
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
2723
3889
  <label class="md-nav__title" for="__nav_6_2">
2724
3890
  <span class="md-nav__icon md-icon"></span>
2725
3891
  Network to Code App Docs
@@ -2746,8 +3912,8 @@
2746
3912
 
2747
3913
 
2748
3914
  <li class="md-nav__item">
2749
- <a href="https://nautobot-plugin-firewall-models.readthedocs.io/en/latest/" class="md-nav__link">
2750
- Nautobot Firewall Models
3915
+ <a href="https://docs.nautobot.com/projects/circuit-maintenance/en/latest/" class="md-nav__link">
3916
+ Nautobot Circuit Maintenance
2751
3917
  </a>
2752
3918
  </li>
2753
3919
 
@@ -2760,8 +3926,36 @@
2760
3926
 
2761
3927
 
2762
3928
  <li class="md-nav__item">
2763
- <a href="https://docs.nautobot.com/projects/plugin-nornir/en/latest/" class="md-nav__link">
2764
- Nautobot Plugin Nornir
3929
+ <a href="https://docs.nautobot.com/projects/device-lifecycle/en/latest/" class="md-nav__link">
3930
+ Nautobot Device LifeCycle Management
3931
+ </a>
3932
+ </li>
3933
+
3934
+
3935
+
3936
+
3937
+
3938
+
3939
+
3940
+
3941
+
3942
+ <li class="md-nav__item">
3943
+ <a href="https://docs.nautobot.com/projects/device-onboarding/en/latest/" class="md-nav__link">
3944
+ Nautobot Device Onboarding
3945
+ </a>
3946
+ </li>
3947
+
3948
+
3949
+
3950
+
3951
+
3952
+
3953
+
3954
+
3955
+
3956
+ <li class="md-nav__item">
3957
+ <a href="https://nautobot-plugin-firewall-models.readthedocs.io/en/latest/" class="md-nav__link">
3958
+ Nautobot Firewall Models
2765
3959
  </a>
2766
3960
  </li>
2767
3961
 
@@ -2788,7 +3982,21 @@
2788
3982
 
2789
3983
 
2790
3984
  <li class="md-nav__item">
2791
- <a href="https://nautobot-plugin-ssot.readthedocs.io/en/latest/" class="md-nav__link">
3985
+ <a href="https://docs.nautobot.com/projects/plugin-nornir/en/latest/" class="md-nav__link">
3986
+ Nautobot Plugin Nornir
3987
+ </a>
3988
+ </li>
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+ <li class="md-nav__item">
3999
+ <a href="https://docs.nautobot.com/projects/ssot/en/latest/" class="md-nav__link">
2792
4000
  Nautobot Single Source of Truth
2793
4001
  </a>
2794
4002
  </li>
@@ -2904,26 +4112,6 @@
2904
4112
  Caching
2905
4113
  </a>
2906
4114
 
2907
- <nav class="md-nav" aria-label="Caching">
2908
- <ul class="md-nav__list">
2909
-
2910
- <li class="md-nav__item">
2911
- <a href="#cacheops_redis" class="md-nav__link">
2912
- CACHEOPS_REDIS
2913
- </a>
2914
-
2915
- </li>
2916
-
2917
- <li class="md-nav__item">
2918
- <a href="#cacheops_sentinel" class="md-nav__link">
2919
- CACHEOPS_SENTINEL
2920
- </a>
2921
-
2922
- </li>
2923
-
2924
- </ul>
2925
- </nav>
2926
-
2927
4115
  </li>
2928
4116
 
2929
4117
  <li class="md-nav__item">
@@ -3013,10 +4201,8 @@
3013
4201
 
3014
4202
 
3015
4203
 
3016
- <a href="https://github.com/nautobot/nautobot/edit/main/nautobot/docs/configuration/required-settings.md" title="Edit this page" class="md-content__button md-icon">
3017
-
3018
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z"/></svg>
3019
- </a>
4204
+
4205
+
3020
4206
 
3021
4207
 
3022
4208
  <h1 id="required-configuration-settings">Required Configuration Settings<a class="headerlink" href="#required-configuration-settings" title="Permanent link">&para;</a></h1>
@@ -3052,7 +4238,7 @@
3052
4238
  <li><code>HOST</code> - Name or IP address of the database server (use <code>localhost</code> if running locally)</li>
3053
4239
  <li><code>PORT</code> - The port to use when connecting to the database. An empty string means the default port for your selected backend. (PostgreSQL: <code>5432</code>, MySQL: <code>3306</code>)</li>
3054
4240
  <li><code>CONN_MAX_AGE</code> - Lifetime of a <a href="https://docs.djangoproject.com/en/stable/ref/databases/#persistent-connections">persistent database connection</a>, in seconds (300 is the default)</li>
3055
- <li><code>ENGINE</code> - The database backend to use. This can be either <code>django.db.backends.postgresql</code> or <code>django.db.backends.mysql</code>.</li>
4241
+ <li><code>ENGINE</code> - The database backend to use. This can be either <code>django.db.backends.postgresql</code> or <code>django.db.backends.mysql</code>. If <code>METRICS_ENABLED</code> is <code>True</code> this can also be either <code>django_prometheus.db.backends.postgresql</code> or <code>django_prometheus.db.backends.mysql</code></li>
3056
4242
  </ul>
3057
4243
  <p>The following environment variables may also be set for each of the above values:</p>
3058
4244
  <ul>
@@ -3130,71 +4316,44 @@ to different Redis instances/databases per feature.</p>
3130
4316
  <p>The default Redis settings in your <code>nautobot_config.py</code> should be suitable for most deployments and should only require customization for more advanced configurations.</p>
3131
4317
  </div>
3132
4318
  <h3 id="caching">Caching<a class="headerlink" href="#caching" title="Permanent link">&para;</a></h3>
3133
- <p>Nautobot supports database query caching using <a href="https://github.com/Suor/django-cacheops"><code>django-cacheops</code></a>.</p>
3134
- <p>Caching is configured by defining the <a href="#cacheops_redis"><code>CACHEOPS_REDIS</code></a> setting which in its simplest form is just a URL.</p>
3135
4319
  <p>For more details on Nautobot's caching, including TLS and HA configuration, see the guide on <a href="../additional-features/caching.html">Caching</a>.</p>
3136
- <div class="admonition important">
3137
- <p class="admonition-title">Important</p>
3138
- <p>Nautobot does not utilize the built-in <a href="https://docs.djangoproject.com/en/stable/topics/cache/">Django cache framework</a> to perform caching, as <code>django-cacheops</code> takes its place.</p>
3139
- </div>
3140
- <h4 id="cacheops_redis">CACHEOPS_REDIS<a class="headerlink" href="#cacheops_redis" title="Permanent link">&para;</a></h4>
3141
- <p>Default: <code>"redis://localhost:6379/1"</code></p>
3142
- <p>Environment Variable: <code>NAUTOBOT_CACHEOPS_REDIS</code></p>
3143
- <p>If you wish to use SSL, you may set the URL scheme to <code>rediss://</code>, for example:</p>
3144
- <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="n">CACHEOPS_REDIS</span> <span class="o">=</span> <span class="s2">&quot;rediss://localhost:6379/1&quot;</span>
3145
- </code></pre></div>
3146
- <p>This setting may also be a dictionary style to provide additional options such as custom TLS/SSL settings, for example:</p>
3147
- <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="kn">import</span> <span class="nn">ssl</span>
3148
- <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>
3149
- <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="n">CACHEOPS_REDIS</span> <span class="o">=</span> <span class="p">{</span>
3150
- <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a> <span class="s2">&quot;host&quot;</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">&quot;NAUTOBOT_REDIS_HOST&quot;</span><span class="p">,</span> <span class="s2">&quot;localhost&quot;</span><span class="p">),</span>
3151
- <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a> <span class="s2">&quot;port&quot;</span><span class="p">:</span> <span class="nb">int</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">&quot;NAUTOBOT_REDIS_PORT&quot;</span><span class="p">,</span> <span class="mi">6379</span><span class="p">)),</span>
3152
- <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a> <span class="s2">&quot;password&quot;</span><span class="p">:</span> <span class="n">os</span><span class="o">.</span><span class="n">getenv</span><span class="p">(</span><span class="s2">&quot;NAUTOBOT_REDIS_PASSWORD&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">),</span>
3153
- <a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a> <span class="s2">&quot;ssl&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span>
3154
- <a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a> <span class="s2">&quot;ssl_cert_reqs&quot;</span><span class="p">:</span> <span class="n">ssl</span><span class="o">.</span><span class="n">CERT_REQUIRED</span><span class="p">,</span>
3155
- <a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a> <span class="s2">&quot;ssl_ca_certs&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/ca.crt&quot;</span><span class="p">,</span>
3156
- <a id="__codelineno-5-10" name="__codelineno-5-10" href="#__codelineno-5-10"></a> <span class="s2">&quot;ssl_certfile&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/tls.crt&quot;</span><span class="p">,</span>
3157
- <a id="__codelineno-5-11" name="__codelineno-5-11" href="#__codelineno-5-11"></a> <span class="s2">&quot;ssl_keyfile&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/tls.key&quot;</span><span class="p">,</span>
3158
- <a id="__codelineno-5-12" name="__codelineno-5-12" href="#__codelineno-5-12"></a><span class="p">}</span>
3159
- </code></pre></div>
3160
- <p>Additional settings may be available and are not covered here. Please see the official guide on <a href="https://github.com/Suor/django-cacheops#setup">Cacheops setup</a>.</p>
3161
- <h4 id="cacheops_sentinel">CACHEOPS_SENTINEL<a class="headerlink" href="#cacheops_sentinel" title="Permanent link">&para;</a></h4>
3162
- <p>Default: <code>undefined</code></p>
3163
- <p>If you are using <a href="https://redis.io/topics/sentinel">Redis Sentinel</a> for high-availability purposes, you must replace the <a href="#cacheops_redis"><code>CACHEOPS_REDIS</code></a> setting with <a href="#cacheops_sentinel"><code>CACHEOPS_SENTINEL</code></a>. For more details on configuring Nautobot to use Redis Sentinel see <a href="../additional-features/caching.html#using-redis-sentinel">Using Redis Sentinel</a>. For more details on how to configure Cacheops specifically to use Redis Sentinel see the official guide on <a href="https://github.com/Suor/django-cacheops#setup">Cacheops
3164
- setup</a>.</p>
3165
- <div class="admonition warning">
3166
- <p class="admonition-title">Warning</p>
3167
- <p><a href="#cacheops_redis"><code>CACHEOPS_REDIS</code></a> and <a href="#cacheops_sentinel"><code>CACHEOPS_SENTINEL</code></a> are mutually exclusive and will result in an error if both are set.</p>
3168
- </div>
3169
4320
  <h3 id="task-queuing">Task Queuing<a class="headerlink" href="#task-queuing" title="Permanent link">&para;</a></h3>
3170
4321
  <h4 id="caches">CACHES<a class="headerlink" href="#caches" title="Permanent link">&para;</a></h4>
3171
- <p>The <a href="https://github.com/jazzband/django-redis"><code>django-redis</code></a> Django plugin is used to enable Redis as a concurrent write lock for preventing race conditions when allocating IP address objects. The <code>CACHES</code> setting is required to to simplify the configuration for defining queues. <em>It is not used for caching at this time.</em></p>
4322
+ <p>The <a href="https://github.com/jazzband/django-redis"><code>django-redis</code></a> Django plugin is used to enable Redis as a concurrent write lock for preventing race conditions when allocating IP address objects. The <code>CACHES</code> setting is required to simplify the configuration for <code>django-redis</code>.</p>
3172
4323
  <div class="admonition important">
3173
4324
  <p class="admonition-title">Important</p>
3174
- <p>Nautobot does not utilize the built-in <a href="https://docs.djangoproject.com/en/stable/topics/cache/">Django cache framework</a> (which also relies on the <code>CACHES</code> setting) to perform caching because Cacheops is being used instead as detailed just above. <em>Yes, we know this is confusing, which is why this is being called out explicitly!</em></p>
4325
+ <p>Nautobot also utilizes the built-in <a href="https://docs.djangoproject.com/en/stable/topics/cache/">Django cache framework</a> (which also relies on the <code>CACHES</code> setting) to perform caching.</p>
3175
4326
  </div>
3176
4327
  <p>Default:</p>
3177
- <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a><span class="c1"># Uncomment the following line to configure TLS/SSL</span>
3178
- <a id="__codelineno-6-2" name="__codelineno-6-2" href="#__codelineno-6-2"></a><span class="c1"># import ssl</span>
3179
- <a id="__codelineno-6-3" name="__codelineno-6-3" href="#__codelineno-6-3"></a>
3180
- <a id="__codelineno-6-4" name="__codelineno-6-4" href="#__codelineno-6-4"></a><span class="n">CACHES</span> <span class="o">=</span> <span class="p">{</span>
3181
- <a id="__codelineno-6-5" name="__codelineno-6-5" href="#__codelineno-6-5"></a> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="p">{</span>
3182
- <a id="__codelineno-6-6" name="__codelineno-6-6" href="#__codelineno-6-6"></a> <span class="s2">&quot;BACKEND&quot;</span><span class="p">:</span> <span class="s2">&quot;django_redis.cache.RedisCache&quot;</span><span class="p">,</span>
3183
- <a id="__codelineno-6-7" name="__codelineno-6-7" href="#__codelineno-6-7"></a> <span class="s2">&quot;LOCATION&quot;</span><span class="p">:</span> <span class="s2">&quot;redis://localhost:6379/0&quot;</span><span class="p">,</span>
3184
- <a id="__codelineno-6-8" name="__codelineno-6-8" href="#__codelineno-6-8"></a> <span class="s2">&quot;TIMEOUT&quot;</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
3185
- <a id="__codelineno-6-9" name="__codelineno-6-9" href="#__codelineno-6-9"></a> <span class="s2">&quot;OPTIONS&quot;</span><span class="p">:</span> <span class="p">{</span>
3186
- <a id="__codelineno-6-10" name="__codelineno-6-10" href="#__codelineno-6-10"></a> <span class="s2">&quot;CLIENT_CLASS&quot;</span><span class="p">:</span> <span class="s2">&quot;django_redis.client.DefaultClient&quot;</span><span class="p">,</span>
3187
- <a id="__codelineno-6-11" name="__codelineno-6-11" href="#__codelineno-6-11"></a> <span class="c1"># Uncomment the following lines to configure TLS/SSL</span>
3188
- <a id="__codelineno-6-12" name="__codelineno-6-12" href="#__codelineno-6-12"></a> <span class="c1"># &quot;CONNECTION_POOL_KWARGS&quot;: {</span>
3189
- <a id="__codelineno-6-13" name="__codelineno-6-13" href="#__codelineno-6-13"></a> <span class="c1"># &quot;ssl_cert_reqs&quot;: ssl.CERT_REQUIRED,</span>
3190
- <a id="__codelineno-6-14" name="__codelineno-6-14" href="#__codelineno-6-14"></a> <span class="c1"># &quot;ssl_ca_certs&quot;: &quot;/opt/nautobot/redis/ca.crt&quot;,</span>
3191
- <a id="__codelineno-6-15" name="__codelineno-6-15" href="#__codelineno-6-15"></a> <span class="c1"># &quot;ssl_certfile&quot;: &quot;/opt/nautobot/redis/tls.crt&quot;,</span>
3192
- <a id="__codelineno-6-16" name="__codelineno-6-16" href="#__codelineno-6-16"></a> <span class="c1"># &quot;ssl_keyfile&quot;: &quot;/opt/nautobot/redis/tls.key&quot;,</span>
3193
- <a id="__codelineno-6-17" name="__codelineno-6-17" href="#__codelineno-6-17"></a> <span class="c1"># },</span>
3194
- <a id="__codelineno-6-18" name="__codelineno-6-18" href="#__codelineno-6-18"></a> <span class="p">},</span>
3195
- <a id="__codelineno-6-19" name="__codelineno-6-19" href="#__codelineno-6-19"></a> <span class="p">}</span>
3196
- <a id="__codelineno-6-20" name="__codelineno-6-20" href="#__codelineno-6-20"></a><span class="p">}</span>
4328
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="c1"># Uncomment the following line to configure TLS/SSL</span>
4329
+ <a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="c1"># import ssl</span>
4330
+ <a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a>
4331
+ <a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a><span class="n">CACHES</span> <span class="o">=</span> <span class="p">{</span>
4332
+ <a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a> <span class="s2">&quot;default&quot;</span><span class="p">:</span> <span class="p">{</span>
4333
+ <a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a> <span class="s2">&quot;BACKEND&quot;</span><span class="p">:</span> <span class="s2">&quot;django_redis.cache.RedisCache&quot;</span><span class="p">,</span>
4334
+ <a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a> <span class="s2">&quot;LOCATION&quot;</span><span class="p">:</span> <span class="s2">&quot;redis://localhost:6379/1&quot;</span><span class="p">,</span>
4335
+ <a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a> <span class="s2">&quot;TIMEOUT&quot;</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span>
4336
+ <a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a> <span class="s2">&quot;OPTIONS&quot;</span><span class="p">:</span> <span class="p">{</span>
4337
+ <a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a> <span class="s2">&quot;CLIENT_CLASS&quot;</span><span class="p">:</span> <span class="s2">&quot;django_redis.client.DefaultClient&quot;</span><span class="p">,</span>
4338
+ <a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a> <span class="c1"># Uncomment the following lines to configure TLS/SSL</span>
4339
+ <a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a> <span class="c1"># &quot;CONNECTION_POOL_KWARGS&quot;: {</span>
4340
+ <a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a> <span class="c1"># &quot;ssl_cert_reqs&quot;: ssl.CERT_REQUIRED,</span>
4341
+ <a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a> <span class="c1"># &quot;ssl_ca_certs&quot;: &quot;/opt/nautobot/redis/ca.crt&quot;,</span>
4342
+ <a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a> <span class="c1"># &quot;ssl_certfile&quot;: &quot;/opt/nautobot/redis/tls.crt&quot;,</span>
4343
+ <a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a> <span class="c1"># &quot;ssl_keyfile&quot;: &quot;/opt/nautobot/redis/tls.key&quot;,</span>
4344
+ <a id="__codelineno-4-17" name="__codelineno-4-17" href="#__codelineno-4-17"></a> <span class="c1"># },</span>
4345
+ <a id="__codelineno-4-18" name="__codelineno-4-18" href="#__codelineno-4-18"></a> <span class="p">},</span>
4346
+ <a id="__codelineno-4-19" name="__codelineno-4-19" href="#__codelineno-4-19"></a> <span class="p">}</span>
4347
+ <a id="__codelineno-4-20" name="__codelineno-4-20" href="#__codelineno-4-20"></a><span class="p">}</span>
3197
4348
  </code></pre></div>
4349
+ <p>The following environment variables may also be set for some of the above values:</p>
4350
+ <ul>
4351
+ <li><code>NAUTOBOT_CACHES_BACKEND</code></li>
4352
+ </ul>
4353
+ <div class="admonition version-changed">
4354
+ <p class="admonition-title">Changed in version 2.0.0</p>
4355
+ <p>The default value of <code>CACHES["default"]["LOCATION"]</code> has changed from <code>redis://localhost:6379/0</code> to <code>redis://localhost:6379/1</code>, as Django's native caching is now taking the role previously occupied by <code>django-cacheops</code>.</p>
4356
+ </div>
3198
4357
  <h3 id="task-queuing-with-celery">Task Queuing with Celery<a class="headerlink" href="#task-queuing-with-celery" title="Permanent link">&para;</a></h3>
3199
4358
  <div class="admonition version-added">
3200
4359
  <p class="admonition-title">Added in version 1.1.0</p>
@@ -3207,15 +4366,15 @@ setup</a>.</p>
3207
4366
  <p>This setting tells Celery and its workers how and where to store message results. This defaults to the same value as <code>CELERY_BROKER_URL</code>. In some more advanced setups it may be required for these to be separate locations, however in our configuration guides these are always the same. Please see the <a href="optional-settings.html#celery_result_backend">optional settings documentation for <code>CELERY_RESULT_BACKEND</code></a> for more information on customizing this setting.</p>
3208
4367
  <h4 id="configuring-celery-with-tls">Configuring Celery with TLS<a class="headerlink" href="#configuring-celery-with-tls" title="Permanent link">&para;</a></h4>
3209
4368
  <p>Optionally, you can configure Celery to use custom SSL certificates to connect to redis by setting the following variables:</p>
3210
- <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="kn">import</span> <span class="nn">ssl</span>
3211
- <a id="__codelineno-7-2" name="__codelineno-7-2" href="#__codelineno-7-2"></a>
3212
- <a id="__codelineno-7-3" name="__codelineno-7-3" href="#__codelineno-7-3"></a><span class="n">CELERY_REDIS_BACKEND_USE_SSL</span> <span class="o">=</span> <span class="p">{</span>
3213
- <a id="__codelineno-7-4" name="__codelineno-7-4" href="#__codelineno-7-4"></a> <span class="s2">&quot;ssl_cert_reqs&quot;</span><span class="p">:</span> <span class="n">ssl</span><span class="o">.</span><span class="n">CERT_REQUIRED</span><span class="p">,</span>
3214
- <a id="__codelineno-7-5" name="__codelineno-7-5" href="#__codelineno-7-5"></a> <span class="s2">&quot;ssl_ca_certs&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/ca.crt&quot;</span><span class="p">,</span>
3215
- <a id="__codelineno-7-6" name="__codelineno-7-6" href="#__codelineno-7-6"></a> <span class="s2">&quot;ssl_certfile&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/tls.crt&quot;</span><span class="p">,</span>
3216
- <a id="__codelineno-7-7" name="__codelineno-7-7" href="#__codelineno-7-7"></a> <span class="s2">&quot;ssl_keyfile&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/tls.key&quot;</span><span class="p">,</span>
3217
- <a id="__codelineno-7-8" name="__codelineno-7-8" href="#__codelineno-7-8"></a><span class="p">}</span>
3218
- <a id="__codelineno-7-9" name="__codelineno-7-9" href="#__codelineno-7-9"></a><span class="n">CELERY_BROKER_USE_SSL</span> <span class="o">=</span> <span class="n">CELERY_REDIS_BACKEND_USE_SSL</span>
4369
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a><span class="kn">import</span> <span class="nn">ssl</span>
4370
+ <a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>
4371
+ <a id="__codelineno-5-3" name="__codelineno-5-3" href="#__codelineno-5-3"></a><span class="n">CELERY_REDIS_BACKEND_USE_SSL</span> <span class="o">=</span> <span class="p">{</span>
4372
+ <a id="__codelineno-5-4" name="__codelineno-5-4" href="#__codelineno-5-4"></a> <span class="s2">&quot;ssl_cert_reqs&quot;</span><span class="p">:</span> <span class="n">ssl</span><span class="o">.</span><span class="n">CERT_REQUIRED</span><span class="p">,</span>
4373
+ <a id="__codelineno-5-5" name="__codelineno-5-5" href="#__codelineno-5-5"></a> <span class="s2">&quot;ssl_ca_certs&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/ca.crt&quot;</span><span class="p">,</span>
4374
+ <a id="__codelineno-5-6" name="__codelineno-5-6" href="#__codelineno-5-6"></a> <span class="s2">&quot;ssl_certfile&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/tls.crt&quot;</span><span class="p">,</span>
4375
+ <a id="__codelineno-5-7" name="__codelineno-5-7" href="#__codelineno-5-7"></a> <span class="s2">&quot;ssl_keyfile&quot;</span><span class="p">:</span> <span class="s2">&quot;/opt/nautobot/redis/tls.key&quot;</span><span class="p">,</span>
4376
+ <a id="__codelineno-5-8" name="__codelineno-5-8" href="#__codelineno-5-8"></a><span class="p">}</span>
4377
+ <a id="__codelineno-5-9" name="__codelineno-5-9" href="#__codelineno-5-9"></a><span class="n">CELERY_BROKER_USE_SSL</span> <span class="o">=</span> <span class="n">CELERY_REDIS_BACKEND_USE_SSL</span>
3219
4378
  </code></pre></div>
3220
4379
  <p>Please see the celery <a href="https://docs.celeryq.dev/en/stable/userguide/configuration.html#std-setting-broker_use_ssl">documentation</a> for additional details.</p>
3221
4380
  <h4 id="configuring-celery-for-high-availability">Configuring Celery for High Availability<a class="headerlink" href="#configuring-celery-for-high-availability" title="Permanent link">&para;</a></h4>
@@ -3230,16 +4389,16 @@ setup</a>.</p>
3230
4389
  <p>A unique <code>SECRET_KEY</code> is generated for you automatically when you use <code>nautobot-server init</code> to create a new <code>nautobot_config.py</code>.</p>
3231
4390
  </div>
3232
4391
  <p>You may run <code>nautobot-server generate_secret_key</code> to generate a new key at any time.</p>
3233
- <div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>nautobot-server generate_secret_key
4392
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>nautobot-server generate_secret_key
3234
4393
  </code></pre></div>
3235
4394
  <p>Sample output:</p>
3236
- <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>+$_kw69oq&amp;fbkfk6&amp;q-+ksbgzw1&amp;061ghw%420u3(wen54w(m
4395
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>+$_kw69oq&amp;fbkfk6&amp;q-+ksbgzw1&amp;061ghw%420u3(wen54w(m
3237
4396
  </code></pre></div>
3238
4397
  <p>Alternatively use the following command to generate a secret even before <code>nautobot-server</code> is runnable:</p>
3239
- <div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>LC_ALL=C tr -cd &#39;[:lower:][:digit:]!@#$%^&amp;*(\-_=+)&#39; &lt; /dev/urandom | fold -w50 | head -n1
4398
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>LC_ALL=C tr -cd &#39;[:lower:][:digit:]!@#$%^&amp;*(\-_=+)&#39; &lt; /dev/urandom | fold -w50 | head -n1
3240
4399
  </code></pre></div>
3241
4400
  <p>Example output:</p>
3242
- <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>9.V$@Kxkc@@Kd@z&lt;a/=.J-Y;rYc79&lt;y@](9o9(L(*sS)Q+ud5P
4401
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>9.V$@Kxkc@@Kd@z&lt;a/=.J-Y;rYc79&lt;y@](9o9(L(*sS)Q+ud5P
3243
4402
  </code></pre></div>
3244
4403
  <div class="admonition warning">
3245
4404
  <p class="admonition-title">Warning</p>
@@ -3262,42 +4421,6 @@ setup</a>.</p>
3262
4421
 
3263
4422
  <footer class="md-footer">
3264
4423
 
3265
-
3266
- <nav class="md-footer__inner md-grid" aria-label="Footer" >
3267
-
3268
-
3269
- <a href="index.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Configuring Nautobot" rel="prev">
3270
- <div class="md-footer__button md-icon">
3271
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
3272
- </div>
3273
- <div class="md-footer__title">
3274
- <div class="md-ellipsis">
3275
- <span class="md-footer__direction">
3276
- Previous
3277
- </span>
3278
- Configuring Nautobot
3279
- </div>
3280
- </div>
3281
- </a>
3282
-
3283
-
3284
-
3285
- <a href="optional-settings.html" class="md-footer__link md-footer__link--next" aria-label="Next: Optional Settings" rel="next">
3286
- <div class="md-footer__title">
3287
- <div class="md-ellipsis">
3288
- <span class="md-footer__direction">
3289
- Next
3290
- </span>
3291
- Optional Settings
3292
- </div>
3293
- </div>
3294
- <div class="md-footer__button md-icon">
3295
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
3296
- </div>
3297
- </a>
3298
-
3299
- </nav>
3300
-
3301
4424
  <div class="md-footer-meta md-typeset">
3302
4425
  <div class="md-footer-meta__inner md-grid">
3303
4426
  <div class="md-copyright">
@@ -3325,32 +4448,42 @@ setup</a>.</p>
3325
4448
 
3326
4449
 
3327
4450
 
4451
+
4452
+
3328
4453
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
3329
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm128 352c0 35.3-28.7 64-64 64S0 451.3 0 416s28.7-64 64-64 64 28.7 64 64zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
4454
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
3330
4455
  </a>
3331
4456
 
3332
4457
 
3333
4458
 
4459
+
4460
+
3334
4461
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
3335
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
4462
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
3336
4463
  </a>
3337
4464
 
3338
4465
 
3339
4466
 
4467
+
4468
+
3340
4469
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
3341
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
4470
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
3342
4471
  </a>
3343
4472
 
3344
4473
 
3345
4474
 
4475
+
4476
+
3346
4477
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
3347
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
4478
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
3348
4479
  </a>
3349
4480
 
3350
4481
 
3351
4482
 
4483
+
4484
+
3352
4485
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
3353
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
4486
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
3354
4487
  </a>
3355
4488
 
3356
4489
  </div>
@@ -3364,14 +4497,13 @@ setup</a>.</p>
3364
4497
  <div class="md-dialog__inner md-typeset"></div>
3365
4498
  </div>
3366
4499
 
3367
- <script id="__config" type="application/json">{"base": "..", "features": ["navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "search.suggest", "search.highlight", "search.share"], "search": "../assets/javascripts/workers/search.16e2a7d4.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version.title": "Select version"}}</script>
4500
+ <script id="__config" type="application/json">{"base": "..", "features": ["navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "search.suggest", "search.highlight", "search.share"], "search": "../assets/javascripts/workers/search.208ed371.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
3368
4501
 
3369
4502
 
3370
- <script src="../assets/javascripts/bundle.5a2dcb6a.min.js"></script>
4503
+ <script src="../assets/javascripts/bundle.51198bba.min.js"></script>
3371
4504
 
3372
4505
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
3373
4506
 
3374
4507
 
3375
-
3376
4508
  </body>
3377
4509
  </html>