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/index.html">
12
12
 
13
+
14
+ <link rel="prev" href="../installation/region-and-site-data-migration-guide.html">
15
+
16
+
17
+ <link rel="next" href="required-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
@@ -663,7 +668,7 @@
663
668
 
664
669
  <li class="md-nav__item md-nav__item--active">
665
670
 
666
- <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
671
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
667
672
 
668
673
 
669
674
 
@@ -842,17 +847,18 @@
842
847
  <li class="md-nav__item md-nav__item--nested">
843
848
 
844
849
 
845
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_4" type="checkbox" id="__nav_2_4" >
846
850
 
847
851
 
852
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
853
+
848
854
 
849
855
 
850
- <label class="md-nav__link" for="__nav_2_4">
856
+ <label class="md-nav__link" for="__nav_2_4" id="__nav_2_4_label" tabindex="0">
851
857
  External Authentication
852
858
  <span class="md-nav__icon md-icon"></span>
853
859
  </label>
854
860
 
855
- <nav class="md-nav" aria-label="External Authentication" data-md-level="2">
861
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
856
862
  <label class="md-nav__title" for="__nav_2_4">
857
863
  <span class="md-nav__icon md-icon"></span>
858
864
  External Authentication
@@ -917,17 +923,18 @@
917
923
  <li class="md-nav__item md-nav__item--nested">
918
924
 
919
925
 
920
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
921
926
 
922
927
 
928
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
923
929
 
924
930
 
925
- <label class="md-nav__link" for="__nav_2_5">
931
+
932
+ <label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
926
933
  Administration
927
934
  <span class="md-nav__icon md-icon"></span>
928
935
  </label>
929
936
 
930
- <nav class="md-nav" aria-label="Administration" data-md-level="2">
937
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
931
938
  <label class="md-nav__title" for="__nav_2_5">
932
939
  <span class="md-nav__icon md-icon"></span>
933
940
  Administration
@@ -1020,17 +1027,18 @@
1020
1027
  <li class="md-nav__item md-nav__item--nested">
1021
1028
 
1022
1029
 
1023
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_6" type="checkbox" id="__nav_2_6" >
1024
1030
 
1025
1031
 
1032
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6" >
1033
+
1026
1034
 
1027
1035
 
1028
- <label class="md-nav__link" for="__nav_2_6">
1036
+ <label class="md-nav__link" for="__nav_2_6" id="__nav_2_6_label" tabindex="0">
1029
1037
  User Guides
1030
1038
  <span class="md-nav__icon md-icon"></span>
1031
1039
  </label>
1032
1040
 
1033
- <nav class="md-nav" aria-label="User Guides" data-md-level="2">
1041
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false">
1034
1042
  <label class="md-nav__title" for="__nav_2_6">
1035
1043
  <span class="md-nav__icon md-icon"></span>
1036
1044
  User Guides
@@ -1043,8 +1051,1081 @@
1043
1051
 
1044
1052
 
1045
1053
  <li class="md-nav__item">
1046
- <a href="../user-guides/getting-started/creating-devices.html" class="md-nav__link">
1047
- Creating Devices
1054
+ <a href="../user-guides/getting-started/creating-devices.html" class="md-nav__link">
1055
+ Creating Devices
1056
+ </a>
1057
+ </li>
1058
+
1059
+
1060
+
1061
+
1062
+
1063
+
1064
+
1065
+
1066
+
1067
+ <li class="md-nav__item">
1068
+ <a href="../user-guides/custom-fields.html" class="md-nav__link">
1069
+ Custom Fields
1070
+ </a>
1071
+ </li>
1072
+
1073
+
1074
+
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+ <li class="md-nav__item">
1082
+ <a href="../user-guides/getting-started/index.html" class="md-nav__link">
1083
+ Getting Started In the Web UI
1084
+ </a>
1085
+ </li>
1086
+
1087
+
1088
+
1089
+
1090
+
1091
+
1092
+
1093
+
1094
+
1095
+ <li class="md-nav__item">
1096
+ <a href="../user-guides/git-data-source.html" class="md-nav__link">
1097
+ Git as a Data Source
1098
+ </a>
1099
+ </li>
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+
1107
+
1108
+
1109
+ <li class="md-nav__item">
1110
+ <a href="../user-guides/graphql.html" class="md-nav__link">
1111
+ GraphQL
1112
+ </a>
1113
+ </li>
1114
+
1115
+
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+
1122
+
1123
+ <li class="md-nav__item">
1124
+ <a href="../user-guides/getting-started/interfaces.html" class="md-nav__link">
1125
+ Interfaces
1126
+ </a>
1127
+ </li>
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+
1134
+
1135
+
1136
+
1137
+ <li class="md-nav__item">
1138
+ <a href="../user-guides/getting-started/ipam.html" class="md-nav__link">
1139
+ IP Address Management
1140
+ </a>
1141
+ </li>
1142
+
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+ <li class="md-nav__item">
1152
+ <a href="../user-guides/getting-started/platforms.html" class="md-nav__link">
1153
+ Platforms
1154
+ </a>
1155
+ </li>
1156
+
1157
+
1158
+
1159
+
1160
+
1161
+
1162
+
1163
+
1164
+
1165
+ <li class="md-nav__item">
1166
+ <a href="../user-guides/getting-started/regions.html" class="md-nav__link">
1167
+ Regions
1168
+ </a>
1169
+ </li>
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+ <li class="md-nav__item">
1180
+ <a href="../user-guides/getting-started/tenants.html" class="md-nav__link">
1181
+ Tenants
1182
+ </a>
1183
+ </li>
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+ <li class="md-nav__item">
1194
+ <a href="../user-guides/getting-started/search-bar.html" class="md-nav__link">
1195
+ The Search Bar
1196
+ </a>
1197
+ </li>
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+ <li class="md-nav__item">
1208
+ <a href="../user-guides/git-data-source.html" class="md-nav__link">
1209
+ Git as a Data Source
1210
+ </a>
1211
+ </li>
1212
+
1213
+
1214
+
1215
+
1216
+
1217
+
1218
+
1219
+
1220
+
1221
+ <li class="md-nav__item">
1222
+ <a href="../user-guides/graphql.html" class="md-nav__link">
1223
+ GraphQL
1224
+ </a>
1225
+ </li>
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+ <li class="md-nav__item">
1236
+ <a href="../user-guides/relationships.html" class="md-nav__link">
1237
+ Relationships
1238
+ </a>
1239
+ </li>
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+ <li class="md-nav__item">
1250
+ <a href="../user-guides/s3-django-storage.html" class="md-nav__link">
1251
+ Django Storages with S3
1252
+ </a>
1253
+ </li>
1254
+
1255
+
1256
+
1257
+
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+ <li class="md-nav__item">
1264
+ <a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
1265
+ VLANS and VLAN Groups
1266
+ </a>
1267
+ </li>
1268
+
1269
+
1270
+
1271
+
1272
+ </ul>
1273
+ </nav>
1274
+ </li>
1275
+
1276
+
1277
+
1278
+
1279
+
1280
+
1281
+
1282
+
1283
+
1284
+
1285
+ <li class="md-nav__item md-nav__item--nested">
1286
+
1287
+
1288
+
1289
+
1290
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
1291
+
1292
+
1293
+
1294
+ <label class="md-nav__link" for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
1295
+ Core Functionality
1296
+ <span class="md-nav__icon md-icon"></span>
1297
+ </label>
1298
+
1299
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
1300
+ <label class="md-nav__title" for="__nav_2_7">
1301
+ <span class="md-nav__icon md-icon"></span>
1302
+ Core Functionality
1303
+ </label>
1304
+ <ul class="md-nav__list" data-md-scrollfix>
1305
+
1306
+
1307
+
1308
+
1309
+
1310
+
1311
+ <li class="md-nav__item">
1312
+ <a href="../core-functionality/circuits.html" class="md-nav__link">
1313
+ Circuits
1314
+ </a>
1315
+ </li>
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+
1322
+
1323
+
1324
+
1325
+ <li class="md-nav__item">
1326
+ <a href="../core-functionality/devices.html" class="md-nav__link">
1327
+ Devices and Cabling
1328
+ </a>
1329
+ </li>
1330
+
1331
+
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+
1338
+
1339
+ <li class="md-nav__item">
1340
+ <a href="../core-functionality/device-types.html" class="md-nav__link">
1341
+ Device Types
1342
+ </a>
1343
+ </li>
1344
+
1345
+
1346
+
1347
+
1348
+
1349
+
1350
+
1351
+
1352
+
1353
+ <li class="md-nav__item">
1354
+ <a href="../core-functionality/ipam.html" class="md-nav__link">
1355
+ IP Address Management
1356
+ </a>
1357
+ </li>
1358
+
1359
+
1360
+
1361
+
1362
+
1363
+
1364
+
1365
+
1366
+
1367
+ <li class="md-nav__item">
1368
+ <a href="../core-functionality/power.html" class="md-nav__link">
1369
+ Power Tracking
1370
+ </a>
1371
+ </li>
1372
+
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+
1379
+
1380
+
1381
+ <li class="md-nav__item">
1382
+ <a href="../core-functionality/secrets.html" class="md-nav__link">
1383
+ Secrets
1384
+ </a>
1385
+ </li>
1386
+
1387
+
1388
+
1389
+
1390
+
1391
+
1392
+
1393
+
1394
+
1395
+ <li class="md-nav__item">
1396
+ <a href="../core-functionality/services.html" class="md-nav__link">
1397
+ Service Mapping
1398
+ </a>
1399
+ </li>
1400
+
1401
+
1402
+
1403
+
1404
+
1405
+
1406
+
1407
+
1408
+
1409
+ <li class="md-nav__item">
1410
+ <a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
1411
+ Sites, Locations, and Racks
1412
+ </a>
1413
+ </li>
1414
+
1415
+
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+
1422
+
1423
+ <li class="md-nav__item">
1424
+ <a href="../core-functionality/tenancy.html" class="md-nav__link">
1425
+ Tenancy
1426
+ </a>
1427
+ </li>
1428
+
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+
1435
+
1436
+
1437
+ <li class="md-nav__item">
1438
+ <a href="../core-functionality/virtualization.html" class="md-nav__link">
1439
+ Virtualization
1440
+ </a>
1441
+ </li>
1442
+
1443
+
1444
+
1445
+
1446
+
1447
+
1448
+
1449
+
1450
+
1451
+ <li class="md-nav__item">
1452
+ <a href="../core-functionality/vlans.html" class="md-nav__link">
1453
+ VLAN Management
1454
+ </a>
1455
+ </li>
1456
+
1457
+
1458
+
1459
+
1460
+ </ul>
1461
+ </nav>
1462
+ </li>
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+ <li class="md-nav__item md-nav__item--nested">
1474
+
1475
+
1476
+
1477
+
1478
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8" >
1479
+
1480
+
1481
+
1482
+ <label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex="0">
1483
+ Model Details
1484
+ <span class="md-nav__icon md-icon"></span>
1485
+ </label>
1486
+
1487
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
1488
+ <label class="md-nav__title" for="__nav_2_8">
1489
+ <span class="md-nav__icon md-icon"></span>
1490
+ Model Details
1491
+ </label>
1492
+ <ul class="md-nav__list" data-md-scrollfix>
1493
+
1494
+
1495
+
1496
+
1497
+
1498
+
1499
+
1500
+ <li class="md-nav__item md-nav__item--nested">
1501
+
1502
+
1503
+
1504
+
1505
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_1" >
1506
+
1507
+
1508
+
1509
+ <label class="md-nav__link" for="__nav_2_8_1" id="__nav_2_8_1_label" tabindex="0">
1510
+ Circuits
1511
+ <span class="md-nav__icon md-icon"></span>
1512
+ </label>
1513
+
1514
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_1_label" aria-expanded="false">
1515
+ <label class="md-nav__title" for="__nav_2_8_1">
1516
+ <span class="md-nav__icon md-icon"></span>
1517
+ Circuits
1518
+ </label>
1519
+ <ul class="md-nav__list" data-md-scrollfix>
1520
+
1521
+
1522
+
1523
+
1524
+
1525
+
1526
+ <li class="md-nav__item">
1527
+ <a href="../models/circuits/circuit.html" class="md-nav__link">
1528
+ Circuit
1529
+ </a>
1530
+ </li>
1531
+
1532
+
1533
+
1534
+
1535
+
1536
+
1537
+
1538
+
1539
+
1540
+ <li class="md-nav__item">
1541
+ <a href="../models/circuits/circuittermination.html" class="md-nav__link">
1542
+ Circuit Termination
1543
+ </a>
1544
+ </li>
1545
+
1546
+
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+
1553
+
1554
+ <li class="md-nav__item">
1555
+ <a href="../models/circuits/circuittype.html" class="md-nav__link">
1556
+ Circuit Type
1557
+ </a>
1558
+ </li>
1559
+
1560
+
1561
+
1562
+
1563
+
1564
+
1565
+
1566
+
1567
+
1568
+ <li class="md-nav__item">
1569
+ <a href="../models/circuits/provider.html" class="md-nav__link">
1570
+ Circuit Provider
1571
+ </a>
1572
+ </li>
1573
+
1574
+
1575
+
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+
1582
+ <li class="md-nav__item">
1583
+ <a href="../models/circuits/providernetwork.html" class="md-nav__link">
1584
+ Circuit Provider Network
1585
+ </a>
1586
+ </li>
1587
+
1588
+
1589
+
1590
+
1591
+ </ul>
1592
+ </nav>
1593
+ </li>
1594
+
1595
+
1596
+
1597
+
1598
+
1599
+
1600
+
1601
+
1602
+
1603
+
1604
+ <li class="md-nav__item md-nav__item--nested">
1605
+
1606
+
1607
+
1608
+
1609
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_2" >
1610
+
1611
+
1612
+
1613
+ <label class="md-nav__link" for="__nav_2_8_2" id="__nav_2_8_2_label" tabindex="0">
1614
+ DCIM
1615
+ <span class="md-nav__icon md-icon"></span>
1616
+ </label>
1617
+
1618
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_2_label" aria-expanded="false">
1619
+ <label class="md-nav__title" for="__nav_2_8_2">
1620
+ <span class="md-nav__icon md-icon"></span>
1621
+ DCIM
1622
+ </label>
1623
+ <ul class="md-nav__list" data-md-scrollfix>
1624
+
1625
+
1626
+
1627
+
1628
+
1629
+
1630
+ <li class="md-nav__item">
1631
+ <a href="../models/dcim/cable.html" class="md-nav__link">
1632
+ Cable
1633
+ </a>
1634
+ </li>
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+
1641
+
1642
+
1643
+
1644
+ <li class="md-nav__item">
1645
+ <a href="../models/dcim/consoleport.html" class="md-nav__link">
1646
+ Console Port
1647
+ </a>
1648
+ </li>
1649
+
1650
+
1651
+
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+ <li class="md-nav__item">
1659
+ <a href="../models/dcim/consoleporttemplate.html" class="md-nav__link">
1660
+ Console Port Template
1661
+ </a>
1662
+ </li>
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+ <li class="md-nav__item">
1673
+ <a href="../models/dcim/consoleserverport.html" class="md-nav__link">
1674
+ Console Server Port
1675
+ </a>
1676
+ </li>
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+ <li class="md-nav__item">
1687
+ <a href="../models/dcim/consoleserverporttemplate.html" class="md-nav__link">
1688
+ Console Server Port Template
1689
+ </a>
1690
+ </li>
1691
+
1692
+
1693
+
1694
+
1695
+
1696
+
1697
+
1698
+
1699
+
1700
+ <li class="md-nav__item">
1701
+ <a href="../models/dcim/device.html" class="md-nav__link">
1702
+ Device
1703
+ </a>
1704
+ </li>
1705
+
1706
+
1707
+
1708
+
1709
+
1710
+
1711
+
1712
+
1713
+
1714
+ <li class="md-nav__item">
1715
+ <a href="../models/dcim/devicebay.html" class="md-nav__link">
1716
+ Device Bay
1717
+ </a>
1718
+ </li>
1719
+
1720
+
1721
+
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+
1728
+ <li class="md-nav__item">
1729
+ <a href="../models/dcim/devicebaytemplate.html" class="md-nav__link">
1730
+ Device Bay Template
1731
+ </a>
1732
+ </li>
1733
+
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+ <li class="md-nav__item">
1743
+ <a href="../models/dcim/deviceredundancygroup.html" class="md-nav__link">
1744
+ Device Redundancy Group
1745
+ </a>
1746
+ </li>
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+
1756
+ <li class="md-nav__item">
1757
+ <a href="../models/dcim/devicetype.html" class="md-nav__link">
1758
+ Device Type
1759
+ </a>
1760
+ </li>
1761
+
1762
+
1763
+
1764
+
1765
+
1766
+
1767
+
1768
+
1769
+
1770
+ <li class="md-nav__item">
1771
+ <a href="../models/dcim/frontport.html" class="md-nav__link">
1772
+ Front Port
1773
+ </a>
1774
+ </li>
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+ <li class="md-nav__item">
1785
+ <a href="../models/dcim/frontporttemplate.html" class="md-nav__link">
1786
+ Front Port Template
1787
+ </a>
1788
+ </li>
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+ <li class="md-nav__item">
1799
+ <a href="../models/dcim/interface.html" class="md-nav__link">
1800
+ Interface
1801
+ </a>
1802
+ </li>
1803
+
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+
1810
+
1811
+
1812
+ <li class="md-nav__item">
1813
+ <a href="../models/dcim/interfacetemplate.html" class="md-nav__link">
1814
+ Interface Template
1815
+ </a>
1816
+ </li>
1817
+
1818
+
1819
+
1820
+
1821
+
1822
+
1823
+
1824
+
1825
+
1826
+ <li class="md-nav__item">
1827
+ <a href="../models/dcim/inventoryitem.html" class="md-nav__link">
1828
+ Inventory Item
1829
+ </a>
1830
+ </li>
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+
1839
+
1840
+ <li class="md-nav__item">
1841
+ <a href="../models/dcim/location.html" class="md-nav__link">
1842
+ Location
1843
+ </a>
1844
+ </li>
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+
1851
+
1852
+
1853
+
1854
+ <li class="md-nav__item">
1855
+ <a href="../models/dcim/locationtype.html" class="md-nav__link">
1856
+ Location Type
1857
+ </a>
1858
+ </li>
1859
+
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+
1866
+
1867
+
1868
+ <li class="md-nav__item">
1869
+ <a href="../models/dcim/manufacturer.html" class="md-nav__link">
1870
+ Manufacturer
1871
+ </a>
1872
+ </li>
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+ <li class="md-nav__item">
1883
+ <a href="../models/dcim/platform.html" class="md-nav__link">
1884
+ Platform
1885
+ </a>
1886
+ </li>
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+ <li class="md-nav__item">
1897
+ <a href="../models/dcim/powerfeed.html" class="md-nav__link">
1898
+ Power Feed
1899
+ </a>
1900
+ </li>
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+
1907
+
1908
+
1909
+
1910
+ <li class="md-nav__item">
1911
+ <a href="../models/dcim/poweroutlet.html" class="md-nav__link">
1912
+ Power Outlet
1913
+ </a>
1914
+ </li>
1915
+
1916
+
1917
+
1918
+
1919
+
1920
+
1921
+
1922
+
1923
+
1924
+ <li class="md-nav__item">
1925
+ <a href="../models/dcim/poweroutlettemplate.html" class="md-nav__link">
1926
+ Power Outlet Template
1927
+ </a>
1928
+ </li>
1929
+
1930
+
1931
+
1932
+
1933
+
1934
+
1935
+
1936
+
1937
+
1938
+ <li class="md-nav__item">
1939
+ <a href="../models/dcim/powerpanel.html" class="md-nav__link">
1940
+ Power Panel
1941
+ </a>
1942
+ </li>
1943
+
1944
+
1945
+
1946
+
1947
+
1948
+
1949
+
1950
+
1951
+
1952
+ <li class="md-nav__item">
1953
+ <a href="../models/dcim/powerport.html" class="md-nav__link">
1954
+ Power Port
1955
+ </a>
1956
+ </li>
1957
+
1958
+
1959
+
1960
+
1961
+
1962
+
1963
+
1964
+
1965
+
1966
+ <li class="md-nav__item">
1967
+ <a href="../models/dcim/powerporttemplate.html" class="md-nav__link">
1968
+ Power Port Template
1969
+ </a>
1970
+ </li>
1971
+
1972
+
1973
+
1974
+
1975
+
1976
+
1977
+
1978
+
1979
+
1980
+ <li class="md-nav__item">
1981
+ <a href="../models/dcim/rack.html" class="md-nav__link">
1982
+ Rack
1983
+ </a>
1984
+ </li>
1985
+
1986
+
1987
+
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+
1994
+ <li class="md-nav__item">
1995
+ <a href="../models/dcim/rackgroup.html" class="md-nav__link">
1996
+ Rack Group
1997
+ </a>
1998
+ </li>
1999
+
2000
+
2001
+
2002
+
2003
+
2004
+
2005
+
2006
+
2007
+
2008
+ <li class="md-nav__item">
2009
+ <a href="../models/dcim/rackreservation.html" class="md-nav__link">
2010
+ Rack Reservation
2011
+ </a>
2012
+ </li>
2013
+
2014
+
2015
+
2016
+
2017
+
2018
+
2019
+
2020
+
2021
+
2022
+ <li class="md-nav__item">
2023
+ <a href="../models/dcim/rearport.html" class="md-nav__link">
2024
+ Rear Port
2025
+ </a>
2026
+ </li>
2027
+
2028
+
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+
2035
+
2036
+ <li class="md-nav__item">
2037
+ <a href="../models/dcim/rearporttemplate.html" class="md-nav__link">
2038
+ Rear Port Template
2039
+ </a>
2040
+ </li>
2041
+
2042
+
2043
+
2044
+
2045
+
2046
+
2047
+
2048
+
2049
+
2050
+ <li class="md-nav__item">
2051
+ <a href="../models/dcim/virtualchassis.html" class="md-nav__link">
2052
+ Virtual Chassis
2053
+ </a>
2054
+ </li>
2055
+
2056
+
2057
+
2058
+
2059
+ </ul>
2060
+ </nav>
2061
+ </li>
2062
+
2063
+
2064
+
2065
+
2066
+
2067
+
2068
+
2069
+
2070
+
2071
+
2072
+ <li class="md-nav__item md-nav__item--nested">
2073
+
2074
+
2075
+
2076
+
2077
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_3" >
2078
+
2079
+
2080
+
2081
+ <label class="md-nav__link" for="__nav_2_8_3" id="__nav_2_8_3_label" tabindex="0">
2082
+ Extras
2083
+ <span class="md-nav__icon md-icon"></span>
2084
+ </label>
2085
+
2086
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_3_label" aria-expanded="false">
2087
+ <label class="md-nav__title" for="__nav_2_8_3">
2088
+ <span class="md-nav__icon md-icon"></span>
2089
+ Extras
2090
+ </label>
2091
+ <ul class="md-nav__list" data-md-scrollfix>
2092
+
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+ <li class="md-nav__item">
2099
+ <a href="../models/extras/configcontext.html" class="md-nav__link">
2100
+ Config Context
2101
+ </a>
2102
+ </li>
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+ <li class="md-nav__item">
2113
+ <a href="../models/extras/configcontextschema.html" class="md-nav__link">
2114
+ Config Context Schema
2115
+ </a>
2116
+ </li>
2117
+
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+
2124
+
2125
+
2126
+ <li class="md-nav__item">
2127
+ <a href="../models/extras/graphqlquery.html" class="md-nav__link">
2128
+ GraphQL Query
1048
2129
  </a>
1049
2130
  </li>
1050
2131
 
@@ -1057,8 +2138,8 @@
1057
2138
 
1058
2139
 
1059
2140
  <li class="md-nav__item">
1060
- <a href="../user-guides/custom-fields.html" class="md-nav__link">
1061
- Custom Fields
2141
+ <a href="../models/extras/imageattachment.html" class="md-nav__link">
2142
+ Image Attachment
1062
2143
  </a>
1063
2144
  </li>
1064
2145
 
@@ -1071,8 +2152,8 @@
1071
2152
 
1072
2153
 
1073
2154
  <li class="md-nav__item">
1074
- <a href="../user-guides/getting-started/index.html" class="md-nav__link">
1075
- Getting Started In the Web UI
2155
+ <a href="../models/extras/job.html" class="md-nav__link">
2156
+ Job
1076
2157
  </a>
1077
2158
  </li>
1078
2159
 
@@ -1085,8 +2166,8 @@
1085
2166
 
1086
2167
 
1087
2168
  <li class="md-nav__item">
1088
- <a href="../user-guides/git-data-source.html" class="md-nav__link">
1089
- Git as a Data Source
2169
+ <a href="../models/extras/joblogentry.html" class="md-nav__link">
2170
+ Job Log Entry
1090
2171
  </a>
1091
2172
  </li>
1092
2173
 
@@ -1099,8 +2180,8 @@
1099
2180
 
1100
2181
 
1101
2182
  <li class="md-nav__item">
1102
- <a href="../user-guides/graphql.html" class="md-nav__link">
1103
- GraphQL
2183
+ <a href="../models/extras/jobresult.html" class="md-nav__link">
2184
+ Job Result
1104
2185
  </a>
1105
2186
  </li>
1106
2187
 
@@ -1113,8 +2194,8 @@
1113
2194
 
1114
2195
 
1115
2196
  <li class="md-nav__item">
1116
- <a href="../user-guides/getting-started/interfaces.html" class="md-nav__link">
1117
- Interfaces
2197
+ <a href="../models/extras/role.html" class="md-nav__link">
2198
+ Role
1118
2199
  </a>
1119
2200
  </li>
1120
2201
 
@@ -1127,8 +2208,8 @@
1127
2208
 
1128
2209
 
1129
2210
  <li class="md-nav__item">
1130
- <a href="../user-guides/getting-started/ipam.html" class="md-nav__link">
1131
- IP Address Management
2211
+ <a href="../models/extras/secret.html" class="md-nav__link">
2212
+ Secret
1132
2213
  </a>
1133
2214
  </li>
1134
2215
 
@@ -1141,22 +2222,56 @@
1141
2222
 
1142
2223
 
1143
2224
  <li class="md-nav__item">
1144
- <a href="../user-guides/getting-started/platforms.html" class="md-nav__link">
1145
- Platforms
2225
+ <a href="../models/extras/secretsgroup.html" class="md-nav__link">
2226
+ Secrets group
1146
2227
  </a>
1147
2228
  </li>
1148
2229
 
1149
2230
 
1150
2231
 
1151
2232
 
2233
+ </ul>
2234
+ </nav>
2235
+ </li>
2236
+
2237
+
2238
+
2239
+
2240
+
2241
+
2242
+
2243
+
2244
+
2245
+
2246
+ <li class="md-nav__item md-nav__item--nested">
2247
+
2248
+
2249
+
2250
+
2251
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_4" >
2252
+
2253
+
2254
+
2255
+ <label class="md-nav__link" for="__nav_2_8_4" id="__nav_2_8_4_label" tabindex="0">
2256
+ IPAM
2257
+ <span class="md-nav__icon md-icon"></span>
2258
+ </label>
2259
+
2260
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_4_label" aria-expanded="false">
2261
+ <label class="md-nav__title" for="__nav_2_8_4">
2262
+ <span class="md-nav__icon md-icon"></span>
2263
+ IPAM
2264
+ </label>
2265
+ <ul class="md-nav__list" data-md-scrollfix>
2266
+
1152
2267
 
1153
2268
 
1154
2269
 
1155
2270
 
1156
2271
 
1157
2272
  <li class="md-nav__item">
1158
- <a href="../user-guides/getting-started/regions.html" class="md-nav__link">
1159
- Regions
2273
+ <a href="../models/ipam/ipaddress.html" class="md-nav__link">
2274
+ IP Address
1160
2275
  </a>
1161
2276
  </li>
1162
2277
 
@@ -1169,8 +2284,8 @@
1169
2284
 
1170
2285
 
1171
2286
  <li class="md-nav__item">
1172
- <a href="../user-guides/getting-started/tenants.html" class="md-nav__link">
1173
- Tenants
2287
+ <a href="../models/ipam/prefix.html" class="md-nav__link">
2288
+ Prefix
1174
2289
  </a>
1175
2290
  </li>
1176
2291
 
@@ -1183,8 +2298,8 @@
1183
2298
 
1184
2299
 
1185
2300
  <li class="md-nav__item">
1186
- <a href="../user-guides/getting-started/search-bar.html" class="md-nav__link">
1187
- The Search Bar
2301
+ <a href="../models/ipam/rir.html" class="md-nav__link">
2302
+ Rir
1188
2303
  </a>
1189
2304
  </li>
1190
2305
 
@@ -1197,8 +2312,8 @@
1197
2312
 
1198
2313
 
1199
2314
  <li class="md-nav__item">
1200
- <a href="../user-guides/git-data-source.html" class="md-nav__link">
1201
- Git as a Data Source
2315
+ <a href="../models/ipam/routetarget.html" class="md-nav__link">
2316
+ Route Target
1202
2317
  </a>
1203
2318
  </li>
1204
2319
 
@@ -1211,8 +2326,8 @@
1211
2326
 
1212
2327
 
1213
2328
  <li class="md-nav__item">
1214
- <a href="../user-guides/graphql.html" class="md-nav__link">
1215
- GraphQL
2329
+ <a href="../models/ipam/service.html" class="md-nav__link">
2330
+ Service
1216
2331
  </a>
1217
2332
  </li>
1218
2333
 
@@ -1225,8 +2340,8 @@
1225
2340
 
1226
2341
 
1227
2342
  <li class="md-nav__item">
1228
- <a href="../user-guides/relationships.html" class="md-nav__link">
1229
- Relationships
2343
+ <a href="../models/ipam/vlan.html" class="md-nav__link">
2344
+ VLAN
1230
2345
  </a>
1231
2346
  </li>
1232
2347
 
@@ -1239,8 +2354,8 @@
1239
2354
 
1240
2355
 
1241
2356
  <li class="md-nav__item">
1242
- <a href="../user-guides/s3-django-storage.html" class="md-nav__link">
1243
- Django Storages with S3
2357
+ <a href="../models/ipam/vlangroup.html" class="md-nav__link">
2358
+ VLAN Group
1244
2359
  </a>
1245
2360
  </li>
1246
2361
 
@@ -1253,8 +2368,8 @@
1253
2368
 
1254
2369
 
1255
2370
  <li class="md-nav__item">
1256
- <a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
1257
- VLANS and VLAN Groups
2371
+ <a href="../models/ipam/vrf.html" class="md-nav__link">
2372
+ VRF
1258
2373
  </a>
1259
2374
  </li>
1260
2375
 
@@ -1277,20 +2392,21 @@
1277
2392
  <li class="md-nav__item md-nav__item--nested">
1278
2393
 
1279
2394
 
1280
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_7" type="checkbox" id="__nav_2_7" >
1281
2395
 
1282
2396
 
2397
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_5" >
1283
2398
 
1284
2399
 
1285
- <label class="md-nav__link" for="__nav_2_7">
1286
- Core Functionality
2400
+
2401
+ <label class="md-nav__link" for="__nav_2_8_5" id="__nav_2_8_5_label" tabindex="0">
2402
+ Tenancy
1287
2403
  <span class="md-nav__icon md-icon"></span>
1288
2404
  </label>
1289
2405
 
1290
- <nav class="md-nav" aria-label="Core Functionality" data-md-level="2">
1291
- <label class="md-nav__title" for="__nav_2_7">
2406
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_5_label" aria-expanded="false">
2407
+ <label class="md-nav__title" for="__nav_2_8_5">
1292
2408
  <span class="md-nav__icon md-icon"></span>
1293
- Core Functionality
2409
+ Tenancy
1294
2410
  </label>
1295
2411
  <ul class="md-nav__list" data-md-scrollfix>
1296
2412
 
@@ -1300,8 +2416,8 @@
1300
2416
 
1301
2417
 
1302
2418
  <li class="md-nav__item">
1303
- <a href="../core-functionality/circuits.html" class="md-nav__link">
1304
- Circuits
2419
+ <a href="../models/tenancy/tenant.html" class="md-nav__link">
2420
+ Tenant
1305
2421
  </a>
1306
2422
  </li>
1307
2423
 
@@ -1314,27 +2430,47 @@
1314
2430
 
1315
2431
 
1316
2432
  <li class="md-nav__item">
1317
- <a href="../core-functionality/devices.html" class="md-nav__link">
1318
- Devices and Cabling
2433
+ <a href="../models/tenancy/tenantgroup.html" class="md-nav__link">
2434
+ Tenant Group
1319
2435
  </a>
1320
2436
  </li>
1321
2437
 
1322
2438
 
1323
2439
 
1324
2440
 
2441
+ </ul>
2442
+ </nav>
2443
+ </li>
2444
+
2445
+
2446
+
2447
+
1325
2448
 
1326
2449
 
1327
2450
 
1328
2451
 
1329
2452
 
1330
- <li class="md-nav__item">
1331
- <a href="../core-functionality/device-types.html" class="md-nav__link">
1332
- Device Types
1333
- </a>
1334
- </li>
1335
-
1336
-
1337
-
2453
+
2454
+ <li class="md-nav__item md-nav__item--nested">
2455
+
2456
+
2457
+
2458
+
2459
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_6" >
2460
+
2461
+
2462
+
2463
+ <label class="md-nav__link" for="__nav_2_8_6" id="__nav_2_8_6_label" tabindex="0">
2464
+ Users
2465
+ <span class="md-nav__icon md-icon"></span>
2466
+ </label>
2467
+
2468
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_6_label" aria-expanded="false">
2469
+ <label class="md-nav__title" for="__nav_2_8_6">
2470
+ <span class="md-nav__icon md-icon"></span>
2471
+ Users
2472
+ </label>
2473
+ <ul class="md-nav__list" data-md-scrollfix>
1338
2474
 
1339
2475
 
1340
2476
 
@@ -1342,8 +2478,8 @@
1342
2478
 
1343
2479
 
1344
2480
  <li class="md-nav__item">
1345
- <a href="../core-functionality/ipam.html" class="md-nav__link">
1346
- IP Address Management
2481
+ <a href="../models/users/objectpermission.html" class="md-nav__link">
2482
+ Object Permission
1347
2483
  </a>
1348
2484
  </li>
1349
2485
 
@@ -1356,27 +2492,47 @@
1356
2492
 
1357
2493
 
1358
2494
  <li class="md-nav__item">
1359
- <a href="../core-functionality/power.html" class="md-nav__link">
1360
- Power Tracking
2495
+ <a href="../models/users/token.html" class="md-nav__link">
2496
+ Token
1361
2497
  </a>
1362
2498
  </li>
1363
2499
 
1364
2500
 
1365
2501
 
1366
2502
 
2503
+ </ul>
2504
+ </nav>
2505
+ </li>
2506
+
2507
+
2508
+
2509
+
1367
2510
 
1368
2511
 
1369
2512
 
1370
2513
 
1371
2514
 
1372
- <li class="md-nav__item">
1373
- <a href="../core-functionality/secrets.html" class="md-nav__link">
1374
- Secrets
1375
- </a>
1376
- </li>
1377
-
1378
-
1379
-
2515
+
2516
+ <li class="md-nav__item md-nav__item--nested">
2517
+
2518
+
2519
+
2520
+
2521
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_7" >
2522
+
2523
+
2524
+
2525
+ <label class="md-nav__link" for="__nav_2_8_7" id="__nav_2_8_7_label" tabindex="0">
2526
+ Virtualization
2527
+ <span class="md-nav__icon md-icon"></span>
2528
+ </label>
2529
+
2530
+ <nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_7_label" aria-expanded="false">
2531
+ <label class="md-nav__title" for="__nav_2_8_7">
2532
+ <span class="md-nav__icon md-icon"></span>
2533
+ Virtualization
2534
+ </label>
2535
+ <ul class="md-nav__list" data-md-scrollfix>
1380
2536
 
1381
2537
 
1382
2538
 
@@ -1384,8 +2540,8 @@
1384
2540
 
1385
2541
 
1386
2542
  <li class="md-nav__item">
1387
- <a href="../core-functionality/services.html" class="md-nav__link">
1388
- Service Mapping
2543
+ <a href="../models/virtualization/cluster.html" class="md-nav__link">
2544
+ Cluster
1389
2545
  </a>
1390
2546
  </li>
1391
2547
 
@@ -1398,8 +2554,8 @@
1398
2554
 
1399
2555
 
1400
2556
  <li class="md-nav__item">
1401
- <a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
1402
- Sites, Locations, and Racks
2557
+ <a href="../models/virtualization/clustergroup.html" class="md-nav__link">
2558
+ Cluster Group
1403
2559
  </a>
1404
2560
  </li>
1405
2561
 
@@ -1412,8 +2568,8 @@
1412
2568
 
1413
2569
 
1414
2570
  <li class="md-nav__item">
1415
- <a href="../core-functionality/tenancy.html" class="md-nav__link">
1416
- Tenancy
2571
+ <a href="../models/virtualization/clustertype.html" class="md-nav__link">
2572
+ Cluster Type
1417
2573
  </a>
1418
2574
  </li>
1419
2575
 
@@ -1426,8 +2582,8 @@
1426
2582
 
1427
2583
 
1428
2584
  <li class="md-nav__item">
1429
- <a href="../core-functionality/virtualization.html" class="md-nav__link">
1430
- Virtualization
2585
+ <a href="../models/virtualization/virtualmachine.html" class="md-nav__link">
2586
+ Virtual Machine
1431
2587
  </a>
1432
2588
  </li>
1433
2589
 
@@ -1440,8 +2596,8 @@
1440
2596
 
1441
2597
 
1442
2598
  <li class="md-nav__item">
1443
- <a href="../core-functionality/vlans.html" class="md-nav__link">
1444
- VLAN Management
2599
+ <a href="../models/virtualization/vminterface.html" class="md-nav__link">
2600
+ VM Interface
1445
2601
  </a>
1446
2602
  </li>
1447
2603
 
@@ -1455,6 +2611,13 @@
1455
2611
 
1456
2612
 
1457
2613
 
2614
+ </ul>
2615
+ </nav>
2616
+ </li>
2617
+
2618
+
2619
+
2620
+
1458
2621
 
1459
2622
 
1460
2623
 
@@ -1464,18 +2627,19 @@
1464
2627
  <li class="md-nav__item md-nav__item--nested">
1465
2628
 
1466
2629
 
1467
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_8" type="checkbox" id="__nav_2_8" >
1468
2630
 
1469
2631
 
2632
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
1470
2633
 
1471
2634
 
1472
- <label class="md-nav__link" for="__nav_2_8">
2635
+
2636
+ <label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
1473
2637
  Additional Features
1474
2638
  <span class="md-nav__icon md-icon"></span>
1475
2639
  </label>
1476
2640
 
1477
- <nav class="md-nav" aria-label="Additional Features" data-md-level="2">
1478
- <label class="md-nav__title" for="__nav_2_8">
2641
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
2642
+ <label class="md-nav__title" for="__nav_2_9">
1479
2643
  <span class="md-nav__icon md-icon"></span>
1480
2644
  Additional Features
1481
2645
  </label>
@@ -1805,18 +2969,19 @@
1805
2969
  <li class="md-nav__item md-nav__item--nested">
1806
2970
 
1807
2971
 
1808
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_9" type="checkbox" id="__nav_2_9" >
1809
2972
 
1810
2973
 
2974
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" >
2975
+
1811
2976
 
1812
2977
 
1813
- <label class="md-nav__link" for="__nav_2_9">
2978
+ <label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
1814
2979
  REST API
1815
2980
  <span class="md-nav__icon md-icon"></span>
1816
2981
  </label>
1817
2982
 
1818
- <nav class="md-nav" aria-label="REST API" data-md-level="2">
1819
- <label class="md-nav__title" for="__nav_2_9">
2983
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
2984
+ <label class="md-nav__title" for="__nav_2_10">
1820
2985
  <span class="md-nav__icon md-icon"></span>
1821
2986
  REST API
1822
2987
  </label>
@@ -1864,6 +3029,20 @@
1864
3029
 
1865
3030
 
1866
3031
 
3032
+
3033
+
3034
+
3035
+
3036
+
3037
+ <li class="md-nav__item">
3038
+ <a href="../rest-api/ui-related-endpoints.html" class="md-nav__link">
3039
+ UI Endpoints
3040
+ </a>
3041
+ </li>
3042
+
3043
+
3044
+
3045
+
1867
3046
  </ul>
1868
3047
  </nav>
1869
3048
  </li>
@@ -1880,18 +3059,19 @@
1880
3059
  <li class="md-nav__item md-nav__item--nested">
1881
3060
 
1882
3061
 
1883
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_10" type="checkbox" id="__nav_2_10" >
1884
3062
 
1885
3063
 
3064
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
1886
3065
 
1887
3066
 
1888
- <label class="md-nav__link" for="__nav_2_10">
3067
+
3068
+ <label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
1889
3069
  GraphQL API
1890
3070
  <span class="md-nav__icon md-icon"></span>
1891
3071
  </label>
1892
3072
 
1893
- <nav class="md-nav" aria-label="GraphQL API" data-md-level="2">
1894
- <label class="md-nav__title" for="__nav_2_10">
3073
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
3074
+ <label class="md-nav__title" for="__nav_2_11">
1895
3075
  <span class="md-nav__icon md-icon"></span>
1896
3076
  GraphQL API
1897
3077
  </label>
@@ -1949,17 +3129,18 @@
1949
3129
  <li class="md-nav__item md-nav__item--nested">
1950
3130
 
1951
3131
 
1952
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
1953
3132
 
1954
3133
 
3134
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
1955
3135
 
1956
3136
 
1957
- <label class="md-nav__link" for="__nav_3">
3137
+
3138
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
1958
3139
  App Developer Guide
1959
3140
  <span class="md-nav__icon md-icon"></span>
1960
3141
  </label>
1961
3142
 
1962
- <nav class="md-nav" aria-label="App Developer Guide" data-md-level="1">
3143
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
1963
3144
  <label class="md-nav__title" for="__nav_3">
1964
3145
  <span class="md-nav__icon md-icon"></span>
1965
3146
  App Developer Guide
@@ -2003,17 +3184,18 @@
2003
3184
  <li class="md-nav__item md-nav__item--nested">
2004
3185
 
2005
3186
 
2006
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_3" type="checkbox" id="__nav_3_3" >
2007
3187
 
2008
3188
 
3189
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
3190
+
2009
3191
 
2010
3192
 
2011
- <label class="md-nav__link" for="__nav_3_3">
3193
+ <label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
2012
3194
  Code Reference
2013
3195
  <span class="md-nav__icon md-icon"></span>
2014
3196
  </label>
2015
3197
 
2016
- <nav class="md-nav" aria-label="Code Reference" data-md-level="2">
3198
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
2017
3199
  <label class="md-nav__title" for="__nav_3_3">
2018
3200
  <span class="md-nav__icon md-icon"></span>
2019
3201
  Code Reference
@@ -2240,17 +3422,18 @@
2240
3422
  <li class="md-nav__item md-nav__item--nested">
2241
3423
 
2242
3424
 
2243
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
2244
3425
 
2245
3426
 
3427
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
2246
3428
 
2247
3429
 
2248
- <label class="md-nav__link" for="__nav_4">
3430
+
3431
+ <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
2249
3432
  Core Developer Guide
2250
3433
  <span class="md-nav__icon md-icon"></span>
2251
3434
  </label>
2252
3435
 
2253
- <nav class="md-nav" aria-label="Core Developer Guide" data-md-level="1">
3436
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
2254
3437
  <label class="md-nav__title" for="__nav_4">
2255
3438
  <span class="md-nav__icon md-icon"></span>
2256
3439
  Core Developer Guide
@@ -2484,17 +3667,18 @@
2484
3667
  <li class="md-nav__item md-nav__item--nested">
2485
3668
 
2486
3669
 
2487
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
2488
3670
 
2489
3671
 
3672
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
3673
+
2490
3674
 
2491
3675
 
2492
- <label class="md-nav__link" for="__nav_5">
3676
+ <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
2493
3677
  Release Notes
2494
3678
  <span class="md-nav__icon md-icon"></span>
2495
3679
  </label>
2496
3680
 
2497
- <nav class="md-nav" aria-label="Release Notes" data-md-level="1">
3681
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
2498
3682
  <label class="md-nav__title" for="__nav_5">
2499
3683
  <span class="md-nav__icon md-icon"></span>
2500
3684
  Release Notes
@@ -2630,17 +3814,18 @@
2630
3814
  <li class="md-nav__item md-nav__item--nested">
2631
3815
 
2632
3816
 
2633
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
2634
3817
 
2635
3818
 
3819
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
2636
3820
 
2637
3821
 
2638
- <label class="md-nav__link" for="__nav_6">
3822
+
3823
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
2639
3824
  Nautobot Apps
2640
3825
  <span class="md-nav__icon md-icon"></span>
2641
3826
  </label>
2642
3827
 
2643
- <nav class="md-nav" aria-label="Nautobot Apps" data-md-level="1">
3828
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
2644
3829
  <label class="md-nav__title" for="__nav_6">
2645
3830
  <span class="md-nav__icon md-icon"></span>
2646
3831
  Nautobot Apps
@@ -2670,17 +3855,18 @@
2670
3855
  <li class="md-nav__item md-nav__item--nested">
2671
3856
 
2672
3857
 
2673
- <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
2674
3858
 
2675
3859
 
3860
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
3861
+
2676
3862
 
2677
3863
 
2678
- <label class="md-nav__link" for="__nav_6_2">
3864
+ <label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
2679
3865
  Network to Code App Docs
2680
3866
  <span class="md-nav__icon md-icon"></span>
2681
3867
  </label>
2682
3868
 
2683
- <nav class="md-nav" aria-label="Network to Code App Docs" data-md-level="2">
3869
+ <nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
2684
3870
  <label class="md-nav__title" for="__nav_6_2">
2685
3871
  <span class="md-nav__icon md-icon"></span>
2686
3872
  Network to Code App Docs
@@ -2707,8 +3893,8 @@
2707
3893
 
2708
3894
 
2709
3895
  <li class="md-nav__item">
2710
- <a href="https://nautobot-plugin-firewall-models.readthedocs.io/en/latest/" class="md-nav__link">
2711
- Nautobot Firewall Models
3896
+ <a href="https://docs.nautobot.com/projects/circuit-maintenance/en/latest/" class="md-nav__link">
3897
+ Nautobot Circuit Maintenance
2712
3898
  </a>
2713
3899
  </li>
2714
3900
 
@@ -2721,8 +3907,36 @@
2721
3907
 
2722
3908
 
2723
3909
  <li class="md-nav__item">
2724
- <a href="https://docs.nautobot.com/projects/plugin-nornir/en/latest/" class="md-nav__link">
2725
- Nautobot Plugin Nornir
3910
+ <a href="https://docs.nautobot.com/projects/device-lifecycle/en/latest/" class="md-nav__link">
3911
+ Nautobot Device LifeCycle Management
3912
+ </a>
3913
+ </li>
3914
+
3915
+
3916
+
3917
+
3918
+
3919
+
3920
+
3921
+
3922
+
3923
+ <li class="md-nav__item">
3924
+ <a href="https://docs.nautobot.com/projects/device-onboarding/en/latest/" class="md-nav__link">
3925
+ Nautobot Device Onboarding
3926
+ </a>
3927
+ </li>
3928
+
3929
+
3930
+
3931
+
3932
+
3933
+
3934
+
3935
+
3936
+
3937
+ <li class="md-nav__item">
3938
+ <a href="https://nautobot-plugin-firewall-models.readthedocs.io/en/latest/" class="md-nav__link">
3939
+ Nautobot Firewall Models
2726
3940
  </a>
2727
3941
  </li>
2728
3942
 
@@ -2749,7 +3963,21 @@
2749
3963
 
2750
3964
 
2751
3965
  <li class="md-nav__item">
2752
- <a href="https://nautobot-plugin-ssot.readthedocs.io/en/latest/" class="md-nav__link">
3966
+ <a href="https://docs.nautobot.com/projects/plugin-nornir/en/latest/" class="md-nav__link">
3967
+ Nautobot Plugin Nornir
3968
+ </a>
3969
+ </li>
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+
3978
+
3979
+ <li class="md-nav__item">
3980
+ <a href="https://docs.nautobot.com/projects/ssot/en/latest/" class="md-nav__link">
2753
3981
  Nautobot Single Source of Truth
2754
3982
  </a>
2755
3983
  </li>
@@ -2935,10 +4163,8 @@
2935
4163
 
2936
4164
 
2937
4165
 
2938
- <a href="https://github.com/nautobot/nautobot/edit/main/nautobot/docs/configuration/index.md" title="Edit this page" class="md-content__button md-icon">
2939
-
2940
- <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>
2941
- </a>
4166
+
4167
+
2942
4168
 
2943
4169
 
2944
4170
  <h1 id="nautobot-configuration">Nautobot Configuration<a class="headerlink" href="#nautobot-configuration" title="Permanent link">&para;</a></h1>
@@ -3022,10 +4248,10 @@
3022
4248
  <a id="__codelineno-9-4" name="__codelineno-9-4" href="#__codelineno-9-4"></a>..
3023
4249
  <a id="__codelineno-9-5" name="__codelineno-9-5" href="#__codelineno-9-5"></a>from django.conf import settings
3024
4250
  <a id="__codelineno-9-6" name="__codelineno-9-6" href="#__codelineno-9-6"></a>...
3025
- <a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a># Django version 3.2.16
3026
- <a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a># Nautobot version 2.0.0a0
4251
+ <a id="__codelineno-9-7" name="__codelineno-9-7" href="#__codelineno-9-7"></a># Django version 3.2.18
4252
+ <a id="__codelineno-9-8" name="__codelineno-9-8" href="#__codelineno-9-8"></a># Nautobot version 2.0.0a2
3027
4253
  <a id="__codelineno-9-9" name="__codelineno-9-9" href="#__codelineno-9-9"></a>...
3028
- <a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a>Python 3.7.13 (default, May 11 2022, 08:57:12)
4254
+ <a id="__codelineno-9-10" name="__codelineno-9-10" href="#__codelineno-9-10"></a>Python 3.8.16 (default, Mar 23 2023, 04:48:11)
3029
4255
  <a id="__codelineno-9-11" name="__codelineno-9-11" href="#__codelineno-9-11"></a>[GCC 10.2.1 20210110] on linux
3030
4256
  <a id="__codelineno-9-12" name="__codelineno-9-12" href="#__codelineno-9-12"></a>Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
3031
4257
  <a id="__codelineno-9-13" name="__codelineno-9-13" href="#__codelineno-9-13"></a>(InteractiveConsole)
@@ -3049,17 +4275,17 @@
3049
4275
  <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="n">Traceback</span> <span class="p">(</span><span class="n">most</span> <span class="n">recent</span> <span class="n">call</span> <span class="n">last</span><span class="p">):</span>
3050
4276
  <a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/bin/nautobot-server&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">8</span><span class="p">,</span> <span class="ow">in</span> <span class="o">&lt;</span><span class="n">module</span><span class="o">&gt;</span>
3051
4277
  <a id="__codelineno-12-3" name="__codelineno-12-3" href="#__codelineno-12-3"></a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="n">main</span><span class="p">())</span>
3052
- <a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.7/site-packages/nautobot/core/cli.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">53</span><span class="p">,</span> <span class="ow">in</span> <span class="n">main</span>
4278
+ <a id="__codelineno-12-4" name="__codelineno-12-4" href="#__codelineno-12-4"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.8/site-packages/nautobot/core/cli.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">53</span><span class="p">,</span> <span class="ow">in</span> <span class="n">main</span>
3053
4279
  <a id="__codelineno-12-5" name="__codelineno-12-5" href="#__codelineno-12-5"></a> <span class="n">initializer</span><span class="o">=</span><span class="n">_configure_settings</span><span class="p">,</span> <span class="c1"># Called after defaults</span>
3054
- <a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.7/site-packages/nautobot/core/runner/runner.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">193</span><span class="p">,</span> <span class="ow">in</span> <span class="n">run_app</span>
4280
+ <a id="__codelineno-12-6" name="__codelineno-12-6" href="#__codelineno-12-6"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.8/site-packages/nautobot/core/runner/runner.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">193</span><span class="p">,</span> <span class="ow">in</span> <span class="n">run_app</span>
3055
4281
  <a id="__codelineno-12-7" name="__codelineno-12-7" href="#__codelineno-12-7"></a> <span class="n">management</span><span class="o">.</span><span class="n">execute_from_command_line</span><span class="p">([</span><span class="n">runner_name</span><span class="p">,</span> <span class="n">command</span><span class="p">]</span> <span class="o">+</span> <span class="n">command_args</span><span class="p">)</span>
3056
- <a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">401</span><span class="p">,</span> <span class="ow">in</span> <span class="n">execute_from_command_line</span>
4282
+ <a id="__codelineno-12-8" name="__codelineno-12-8" href="#__codelineno-12-8"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">401</span><span class="p">,</span> <span class="ow">in</span> <span class="n">execute_from_command_line</span>
3057
4283
  <a id="__codelineno-12-9" name="__codelineno-12-9" href="#__codelineno-12-9"></a> <span class="n">utility</span><span class="o">.</span><span class="n">execute</span><span class="p">()</span>
3058
- <a id="__codelineno-12-10" name="__codelineno-12-10" href="#__codelineno-12-10"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.7/site-packages/django/core/management/__init__.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">377</span><span class="p">,</span> <span class="ow">in</span> <span class="n">execute</span>
4284
+ <a id="__codelineno-12-10" name="__codelineno-12-10" href="#__codelineno-12-10"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.8/site-packages/django/core/management/__init__.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">377</span><span class="p">,</span> <span class="ow">in</span> <span class="n">execute</span>
3059
4285
  <a id="__codelineno-12-11" name="__codelineno-12-11" href="#__codelineno-12-11"></a> <span class="n">django</span><span class="o">.</span><span class="n">setup</span><span class="p">()</span>
3060
- <a id="__codelineno-12-12" name="__codelineno-12-12" href="#__codelineno-12-12"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.7/site-packages/django/__init__.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">24</span><span class="p">,</span> <span class="ow">in</span> <span class="n">setup</span>
4286
+ <a id="__codelineno-12-12" name="__codelineno-12-12" href="#__codelineno-12-12"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.8/site-packages/django/__init__.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">24</span><span class="p">,</span> <span class="ow">in</span> <span class="n">setup</span>
3061
4287
  <a id="__codelineno-12-13" name="__codelineno-12-13" href="#__codelineno-12-13"></a> <span class="n">apps</span><span class="o">.</span><span class="n">populate</span><span class="p">(</span><span class="n">settings</span><span class="o">.</span><span class="n">INSTALLED_APPS</span><span class="p">)</span>
3062
- <a id="__codelineno-12-14" name="__codelineno-12-14" href="#__codelineno-12-14"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.7/site-packages/django/apps/registry.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">95</span><span class="p">,</span> <span class="ow">in</span> <span class="n">populate</span>
4288
+ <a id="__codelineno-12-14" name="__codelineno-12-14" href="#__codelineno-12-14"></a> <span class="n">File</span> <span class="s2">&quot;/usr/local/lib/python3.8/site-packages/django/apps/registry.py&quot;</span><span class="p">,</span> <span class="n">line</span> <span class="mi">95</span><span class="p">,</span> <span class="ow">in</span> <span class="n">populate</span>
3063
4289
  <a id="__codelineno-12-15" name="__codelineno-12-15" href="#__codelineno-12-15"></a> <span class="s2">&quot;duplicates: </span><span class="si">%s</span><span class="s2">&quot;</span> <span class="o">%</span> <span class="n">app_config</span><span class="o">.</span><span class="n">label</span><span class="p">)</span>
3064
4290
  <a id="__codelineno-12-16" name="__codelineno-12-16" href="#__codelineno-12-16"></a><span class="n">django</span><span class="o">.</span><span class="n">core</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">ImproperlyConfigured</span><span class="p">:</span> <span class="n">Application</span> <span class="n">labels</span> <span class="n">aren</span><span class="s1">&#39;t unique, duplicates: health_check</span>
3065
4291
  </code></pre></div>
@@ -3087,42 +4313,6 @@
3087
4313
 
3088
4314
  <footer class="md-footer">
3089
4315
 
3090
-
3091
- <nav class="md-footer__inner md-grid" aria-label="Footer" >
3092
-
3093
-
3094
- <a href="../installation/region-and-site-data-migration-guide.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Migrating from Region and Site to Location" rel="prev">
3095
- <div class="md-footer__button md-icon">
3096
- <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>
3097
- </div>
3098
- <div class="md-footer__title">
3099
- <div class="md-ellipsis">
3100
- <span class="md-footer__direction">
3101
- Previous
3102
- </span>
3103
- Migrating from Region and Site to Location
3104
- </div>
3105
- </div>
3106
- </a>
3107
-
3108
-
3109
-
3110
- <a href="required-settings.html" class="md-footer__link md-footer__link--next" aria-label="Next: Required Settings" rel="next">
3111
- <div class="md-footer__title">
3112
- <div class="md-ellipsis">
3113
- <span class="md-footer__direction">
3114
- Next
3115
- </span>
3116
- Required Settings
3117
- </div>
3118
- </div>
3119
- <div class="md-footer__button md-icon">
3120
- <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>
3121
- </div>
3122
- </a>
3123
-
3124
- </nav>
3125
-
3126
4316
  <div class="md-footer-meta md-typeset">
3127
4317
  <div class="md-footer-meta__inner md-grid">
3128
4318
  <div class="md-copyright">
@@ -3150,32 +4340,42 @@
3150
4340
 
3151
4341
 
3152
4342
 
4343
+
4344
+
3153
4345
  <a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
3154
- <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>
4346
+ <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>
3155
4347
  </a>
3156
4348
 
3157
4349
 
3158
4350
 
4351
+
4352
+
3159
4353
  <a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
3160
- <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>
4354
+ <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>
3161
4355
  </a>
3162
4356
 
3163
4357
 
3164
4358
 
4359
+
4360
+
3165
4361
  <a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
3166
- <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>
4362
+ <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>
3167
4363
  </a>
3168
4364
 
3169
4365
 
3170
4366
 
4367
+
4368
+
3171
4369
  <a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
3172
- <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>
4370
+ <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>
3173
4371
  </a>
3174
4372
 
3175
4373
 
3176
4374
 
4375
+
4376
+
3177
4377
  <a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
3178
- <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>
4378
+ <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>
3179
4379
  </a>
3180
4380
 
3181
4381
  </div>
@@ -3189,14 +4389,13 @@
3189
4389
  <div class="md-dialog__inner md-typeset"></div>
3190
4390
  </div>
3191
4391
 
3192
- <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>
4392
+ <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>
3193
4393
 
3194
4394
 
3195
- <script src="../assets/javascripts/bundle.5a2dcb6a.min.js"></script>
4395
+ <script src="../assets/javascripts/bundle.51198bba.min.js"></script>
3196
4396
 
3197
4397
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
3198
4398
 
3199
4399
 
3200
-
3201
4400
  </body>
3202
4401
  </html>