nautobot 1.6.28__tar.gz → 1.6.30__tar.gz

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 (1517) hide show
  1. {nautobot-1.6.28 → nautobot-1.6.30}/PKG-INFO +2 -2
  2. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/apps/__init__.py +18 -0
  3. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_models.py +17 -1
  4. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/views.py +2 -2
  5. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/getting-started.html +138 -127
  6. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.6.html +282 -153
  7. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/requirements.txt +2 -1
  8. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/search/search_index.json +1 -1
  9. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/sitemap.xml +187 -187
  10. nautobot-1.6.30/nautobot/project-static/docs/sitemap.xml.gz +0 -0
  11. {nautobot-1.6.28 → nautobot-1.6.30}/pyproject.toml +2 -2
  12. nautobot-1.6.28/nautobot/project-static/docs/sitemap.xml.gz +0 -0
  13. {nautobot-1.6.28 → nautobot-1.6.30}/LICENSE.txt +0 -0
  14. {nautobot-1.6.28 → nautobot-1.6.30}/NOTICE +0 -0
  15. {nautobot-1.6.28 → nautobot-1.6.30}/README.md +0 -0
  16. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/__init__.py +0 -0
  17. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/__init__.py +0 -0
  18. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/admin.py +0 -0
  19. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/api.py +0 -0
  20. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/choices.py +0 -0
  21. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/datasources.py +0 -0
  22. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/filters.py +0 -0
  23. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/forms.py +0 -0
  24. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/models.py +0 -0
  25. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/secrets.py +0 -0
  26. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/tables.py +0 -0
  27. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/testing.py +0 -0
  28. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/ui.py +0 -0
  29. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/urls.py +0 -0
  30. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/utils.py +0 -0
  31. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/apps/views.py +0 -0
  32. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/__init__.py +0 -0
  33. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/api/__init__.py +0 -0
  34. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/api/nested_serializers.py +0 -0
  35. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/api/serializers.py +0 -0
  36. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/api/urls.py +0 -0
  37. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/api/views.py +0 -0
  38. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/apps.py +0 -0
  39. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/choices.py +0 -0
  40. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/filters.py +0 -0
  41. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/forms.py +0 -0
  42. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/graphql/__init__.py +0 -0
  43. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/graphql/types.py +0 -0
  44. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/homepage.py +0 -0
  45. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0001_initial_part_1.py +0 -0
  46. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0002_initial_part_2.py +0 -0
  47. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0003_auto_slug.py +0 -0
  48. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0004_increase_provider_account_length.py +0 -0
  49. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0005_providernetwork.py +0 -0
  50. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0006_cache_circuit_terminations.py +0 -0
  51. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0007_circuitterminations_primary_model.py +0 -0
  52. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0008_add_natural_indexing.py +0 -0
  53. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/0009_circuittermination_location.py +0 -0
  54. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/migrations/__init__.py +0 -0
  55. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/models.py +0 -0
  56. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/navigation.py +0 -0
  57. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/signals.py +0 -0
  58. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tables.py +0 -0
  59. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuit.html +0 -0
  60. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuit_create.html +0 -0
  61. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuit_edit.html +0 -0
  62. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuit_retrieve.html +0 -0
  63. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuit_terminations_swap.html +0 -0
  64. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuit_update.html +0 -0
  65. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittermination.html +0 -0
  66. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittermination_create.html +0 -0
  67. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittermination_edit.html +0 -0
  68. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittermination_retrieve.html +0 -0
  69. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittermination_update.html +0 -0
  70. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittype.html +0 -0
  71. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/circuittype_retrieve.html +0 -0
  72. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/inc/circuit_termination.html +0 -0
  73. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/inc/speed_widget.html +0 -0
  74. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/provider.html +0 -0
  75. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/provider_create.html +0 -0
  76. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/provider_edit.html +0 -0
  77. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/provider_retrieve.html +0 -0
  78. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/provider_update.html +0 -0
  79. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/providernetwork.html +0 -0
  80. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/templates/circuits/providernetwork_retrieve.html +0 -0
  81. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/__init__.py +0 -0
  82. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/integration/__init__.py +0 -0
  83. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/integration/test_relationships.py +0 -0
  84. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/test_api.py +0 -0
  85. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/test_filters.py +0 -0
  86. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/test_models.py +0 -0
  87. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/test_urls.py +0 -0
  88. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/tests/test_views.py +0 -0
  89. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/urls.py +0 -0
  90. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/circuits/views.py +0 -0
  91. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/__init__.py +0 -0
  92. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/admin.py +0 -0
  93. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/__init__.py +0 -0
  94. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/authentication.py +0 -0
  95. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/exceptions.py +0 -0
  96. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/fields.py +0 -0
  97. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/filter_backends.py +0 -0
  98. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/metadata.py +0 -0
  99. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/pagination.py +0 -0
  100. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/renderers.py +0 -0
  101. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/routers.py +0 -0
  102. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/schema.py +0 -0
  103. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/serializers.py +0 -0
  104. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/urls.py +0 -0
  105. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/versioning.py +0 -0
  106. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/api/views.py +0 -0
  107. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/authentication.py +0 -0
  108. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/celery/__init__.py +0 -0
  109. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/celery/schedulers.py +0 -0
  110. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/checks.py +0 -0
  111. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/cli.py +0 -0
  112. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/constants.py +0 -0
  113. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/context_processors.py +0 -0
  114. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/factory.py +0 -0
  115. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/fields.py +0 -0
  116. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/fixtures/user-data.json +0 -0
  117. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/forms.py +0 -0
  118. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/graphql/__init__.py +0 -0
  119. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/graphql/generators.py +0 -0
  120. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/graphql/schema.py +0 -0
  121. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/graphql/schema_init.py +0 -0
  122. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/graphql/types.py +0 -0
  123. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/graphql/utils.py +0 -0
  124. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/__init__.py +0 -0
  125. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/__init__.py +0 -0
  126. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/celery.py +0 -0
  127. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/generate_secret_key.py +0 -0
  128. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/generate_test_data.py +0 -0
  129. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/post_upgrade.py +0 -0
  130. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/pre_migrate.py +0 -0
  131. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/refresh_content_type_cache.py +0 -0
  132. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/send_installation_metrics.py +0 -0
  133. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/start.py +0 -0
  134. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/startplugin.py +0 -0
  135. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/management/commands/validate_models.py +0 -0
  136. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/middleware.py +0 -0
  137. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/models/__init__.py +0 -0
  138. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/models/generics.py +0 -0
  139. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/releases.py +0 -0
  140. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/runner/__init__.py +0 -0
  141. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/runner/importer.py +0 -0
  142. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/runner/runner.py +0 -0
  143. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/runner/settings.py +0 -0
  144. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/settings.py +0 -0
  145. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/settings_funcs.py +0 -0
  146. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/signals.py +0 -0
  147. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/403.html +0 -0
  148. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/403_csrf_failure.html +0 -0
  149. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/404.html +0 -0
  150. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/40x.html +0 -0
  151. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/500.html +0 -0
  152. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/actions.html +0 -0
  153. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/app_index.html +0 -0
  154. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/base.html +0 -0
  155. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/base_site.html +0 -0
  156. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/bootstrapped_extra/app_name.html +0 -0
  157. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/change_form.html +0 -0
  158. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/change_list.html +0 -0
  159. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/change_list_results.html +0 -0
  160. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/config/config.html +0 -0
  161. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/delete_confirmation.html +0 -0
  162. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/edit_inline/stacked.html +0 -0
  163. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/edit_inline/tabular.html +0 -0
  164. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/includes/fieldset.html +0 -0
  165. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/index.html +0 -0
  166. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/login.html +0 -0
  167. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/nautobot_index.html +0 -0
  168. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/prepopulated_fields_js.html +0 -0
  169. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/search_form.html +0 -0
  170. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/admin/submit_line.html +0 -0
  171. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/base.html +0 -0
  172. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/exceptions/import_error.html +0 -0
  173. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/exceptions/permission_error.html +0 -0
  174. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/exceptions/programming_error.html +0 -0
  175. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_add_component.html +0 -0
  176. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_create.html +0 -0
  177. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_delete.html +0 -0
  178. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_destroy.html +0 -0
  179. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_edit.html +0 -0
  180. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_import.html +0 -0
  181. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_remove.html +0 -0
  182. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_rename.html +0 -0
  183. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_bulk_update.html +0 -0
  184. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_changelog.html +0 -0
  185. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_create.html +0 -0
  186. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_delete.html +0 -0
  187. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_destroy.html +0 -0
  188. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_detail.html +0 -0
  189. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_edit.html +0 -0
  190. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_import.html +0 -0
  191. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_list.html +0 -0
  192. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_notes.html +0 -0
  193. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_retrieve.html +0 -0
  194. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/generic/object_update.html +0 -0
  195. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/graphene/graphiql.html +0 -0
  196. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/home.html +0 -0
  197. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/import_success.html +0 -0
  198. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/ajax_loader.html +0 -0
  199. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/computed_fields/panel_data.html +0 -0
  200. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/created_updated.html +0 -0
  201. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/custom_fields/panel.html +0 -0
  202. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/custom_fields/panel_data.html +0 -0
  203. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/custom_fields_panel.html +0 -0
  204. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/dynamic_groups_panel.html +0 -0
  205. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/extras_features_edit_form_fields.html +0 -0
  206. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/footer.html +0 -0
  207. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/image_attachments.html +0 -0
  208. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/javascript.html +0 -0
  209. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/media.html +0 -0
  210. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/modal.html +0 -0
  211. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/nav_menu.html +0 -0
  212. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/object_details_advanced_panel.html +0 -0
  213. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/paginator.html +0 -0
  214. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/relationships/panel_override.html +0 -0
  215. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/relationships_panel.html +0 -0
  216. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/relationships_table_rows.html +0 -0
  217. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/search_panel.html +0 -0
  218. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/inc/table.html +0 -0
  219. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/login.html +0 -0
  220. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/media_failure.html +0 -0
  221. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/modals/modal_theme.html +0 -0
  222. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/nautobot_config.py.j2 +0 -0
  223. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/panel_table.html +0 -0
  224. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/__init__.py-tpl +0 -0
  225. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/migrations/__init__.py-tpl +0 -0
  226. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/models.py-tpl +0 -0
  227. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/navigation.py-tpl +0 -0
  228. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/tests/__init__.py-tpl +0 -0
  229. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/tests/test_models.py-tpl +0 -0
  230. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/tests/test_views.py-tpl +0 -0
  231. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/urls.py-tpl +0 -0
  232. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/plugin_template/views.py-tpl +0 -0
  233. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/responsive_table.html +0 -0
  234. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/rest_framework/api.html +0 -0
  235. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/search.html +0 -0
  236. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/search_form.html +0 -0
  237. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/swagger_ui.html +0 -0
  238. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/templates/swagger_ui.js +0 -0
  239. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/__init__.py +0 -0
  240. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/__init__.py +0 -0
  241. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_filters.py +0 -0
  242. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_general_functionality.py +0 -0
  243. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_home.py +0 -0
  244. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_navbar.py +0 -0
  245. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_plugin_home.py +0 -0
  246. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_plugin_navbar.py +0 -0
  247. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_swagger.py +0 -0
  248. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_theme.py +0 -0
  249. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/integration/test_view_authentication.py +0 -0
  250. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/nautobot_config.py +0 -0
  251. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/performance_baselines.yml +0 -0
  252. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/runner.py +0 -0
  253. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_api.py +0 -0
  254. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_authentication.py +0 -0
  255. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_celery.py +0 -0
  256. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_checks.py +0 -0
  257. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_cli.py +0 -0
  258. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_commands.py +0 -0
  259. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_forms.py +0 -0
  260. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_graphql.py +0 -0
  261. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_releases.py +0 -0
  262. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_tables.py +0 -0
  263. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_tree_queries.py +0 -0
  264. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_utilities.py +0 -0
  265. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/tests/test_views.py +0 -0
  266. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/urls.py +0 -0
  267. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/utilities.py +0 -0
  268. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/views/__init__.py +0 -0
  269. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/views/generic.py +0 -0
  270. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/views/mixins.py +0 -0
  271. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/views/renderers.py +0 -0
  272. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/views/routers.py +0 -0
  273. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/views/viewsets.py +0 -0
  274. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/core/wsgi.py +0 -0
  275. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/__init__.py +0 -0
  276. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/api/__init__.py +0 -0
  277. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/api/exceptions.py +0 -0
  278. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/api/nested_serializers.py +0 -0
  279. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/api/serializers.py +0 -0
  280. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/api/urls.py +0 -0
  281. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/api/views.py +0 -0
  282. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/apps.py +0 -0
  283. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/choices.py +0 -0
  284. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/constants.py +0 -0
  285. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/elevations.py +0 -0
  286. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/factory.py +0 -0
  287. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/fields.py +0 -0
  288. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/filter_mixins.py +0 -0
  289. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/filters/__init__.py +0 -0
  290. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/filters/mixins.py +0 -0
  291. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/form_mixins.py +0 -0
  292. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/forms.py +0 -0
  293. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/graphql/__init__.py +0 -0
  294. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/graphql/mixins.py +0 -0
  295. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/graphql/types.py +0 -0
  296. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/homepage.py +0 -0
  297. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/lookups.py +0 -0
  298. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/management/__init__.py +0 -0
  299. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/management/commands/__init__.py +0 -0
  300. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/management/commands/populate_platform_network_driver.py +0 -0
  301. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/management/commands/trace_paths.py +0 -0
  302. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0001_initial_part_1.py +0 -0
  303. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0002_initial_part_2.py +0 -0
  304. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0003_initial_part_3.py +0 -0
  305. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0004_initial_part_4.py +0 -0
  306. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0005_device_local_context_schema.py +0 -0
  307. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0006_auto_slug.py +0 -0
  308. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0007_device_secrets_group.py +0 -0
  309. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0008_increase_all_serial_lengths.py +0 -0
  310. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0009_add_natural_indexing.py +0 -0
  311. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0010_interface_status.py +0 -0
  312. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0011_interface_status_data_migration.py +0 -0
  313. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0012_interface_parent_bridge.py +0 -0
  314. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0013_location_location_type.py +0 -0
  315. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0014_location_status_data_migration.py +0 -0
  316. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0015_device_components__changeloggedmodel.py +0 -0
  317. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0016_device_components__timestamp_data_migration.py +0 -0
  318. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0017_locationtype_nestable.py +0 -0
  319. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0018_device_redundancy_group.py +0 -0
  320. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0019_device_redundancy_group_data_migration.py +0 -0
  321. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0020_increase_device_asset_tag_size_limit.py +0 -0
  322. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0021_platform_network_driver.py +0 -0
  323. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0022_interface_redundancy_group.py +0 -0
  324. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/0023_interface_redundancy_group_data_migration.py +0 -0
  325. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/migrations/__init__.py +0 -0
  326. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/__init__.py +0 -0
  327. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/cables.py +0 -0
  328. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/device_component_templates.py +0 -0
  329. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/device_components.py +0 -0
  330. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/devices.py +0 -0
  331. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/locations.py +0 -0
  332. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/power.py +0 -0
  333. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/racks.py +0 -0
  334. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/models/sites.py +0 -0
  335. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/navigation.py +0 -0
  336. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/signals.py +0 -0
  337. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/__init__.py +0 -0
  338. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/cables.py +0 -0
  339. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/devices.py +0 -0
  340. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/devicetypes.py +0 -0
  341. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/locations.py +0 -0
  342. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/power.py +0 -0
  343. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/racks.py +0 -0
  344. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/sites.py +0 -0
  345. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tables/template_code.py +0 -0
  346. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/bulk_disconnect.html +0 -0
  347. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/cable.html +0 -0
  348. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/cable_connect.html +0 -0
  349. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/cable_edit.html +0 -0
  350. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/cable_trace.html +0 -0
  351. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/consoleport.html +0 -0
  352. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/consoleport_delete.html +0 -0
  353. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/consoleserverport.html +0 -0
  354. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/consoleserverport_delete.html +0 -0
  355. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/base.html +0 -0
  356. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/config.html +0 -0
  357. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/consoleports.html +0 -0
  358. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/consoleserverports.html +0 -0
  359. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/devicebays.html +0 -0
  360. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/frontports.html +0 -0
  361. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/interfaces.html +0 -0
  362. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/inventory.html +0 -0
  363. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/lldp_neighbors.html +0 -0
  364. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/poweroutlets.html +0 -0
  365. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/powerports.html +0 -0
  366. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/rearports.html +0 -0
  367. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device/status.html +0 -0
  368. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device.html +0 -0
  369. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_component.html +0 -0
  370. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_component_add.html +0 -0
  371. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_component_edit.html +0 -0
  372. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_edit.html +0 -0
  373. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_import.html +0 -0
  374. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_import_child.html +0 -0
  375. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_interface_delete.html +0 -0
  376. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/device_list.html +0 -0
  377. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicebay.html +0 -0
  378. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicebay_delete.html +0 -0
  379. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicebay_depopulate.html +0 -0
  380. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicebay_populate.html +0 -0
  381. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/deviceredundancygroup_create.html +0 -0
  382. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/deviceredundancygroup_retrieve.html +0 -0
  383. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicerole.html +0 -0
  384. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicetype.html +0 -0
  385. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicetype_component_add.html +0 -0
  386. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/devicetype_edit.html +0 -0
  387. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/frontport.html +0 -0
  388. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/cable_form.html +0 -0
  389. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/cable_termination.html +0 -0
  390. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/cable_toggle_buttons.html +0 -0
  391. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/device_import_header.html +0 -0
  392. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/device_napalm_tabs.html +0 -0
  393. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/devicetype_component_table.html +0 -0
  394. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/homepage_connections.html +0 -0
  395. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/location_hierarchy.html +0 -0
  396. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inc/rack_elevation.html +0 -0
  397. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/interface.html +0 -0
  398. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/interface_bulk_delete.html +0 -0
  399. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/interface_delete.html +0 -0
  400. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/interface_edit.html +0 -0
  401. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/interfaceredundancygroup_retrieve.html +0 -0
  402. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/interfaceredundancygroupassociation_create.html +0 -0
  403. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inventoryitem.html +0 -0
  404. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inventoryitem_bulk_delete.html +0 -0
  405. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/inventoryitem_delete.html +0 -0
  406. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/location.html +0 -0
  407. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/location_edit.html +0 -0
  408. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/locationtype.html +0 -0
  409. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/manufacturer.html +0 -0
  410. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/platform.html +0 -0
  411. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/platform_edit.html +0 -0
  412. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/powerfeed.html +0 -0
  413. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/powerfeed_edit.html +0 -0
  414. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/poweroutlet.html +0 -0
  415. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/poweroutlet_delete.html +0 -0
  416. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/powerpanel.html +0 -0
  417. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/powerpanel_edit.html +0 -0
  418. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/powerport.html +0 -0
  419. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/powerport_delete.html +0 -0
  420. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rack.html +0 -0
  421. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rack_edit.html +0 -0
  422. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rack_elevation_list.html +0 -0
  423. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rackgroup.html +0 -0
  424. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rackreservation.html +0 -0
  425. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rackreservation_edit.html +0 -0
  426. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rackrole.html +0 -0
  427. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/rearport.html +0 -0
  428. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/region.html +0 -0
  429. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/site.html +0 -0
  430. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/site_edit.html +0 -0
  431. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/trace/cable.html +0 -0
  432. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/trace/circuit.html +0 -0
  433. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/trace/device.html +0 -0
  434. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/trace/powerpanel.html +0 -0
  435. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/trace/termination.html +0 -0
  436. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/virtualchassis.html +0 -0
  437. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/virtualchassis_add.html +0 -0
  438. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/virtualchassis_add_member.html +0 -0
  439. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/virtualchassis_edit.html +0 -0
  440. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/templates/dcim/virtualchassis_remove_member.html +0 -0
  441. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/__init__.py +0 -0
  442. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/integration/__init__.py +0 -0
  443. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/integration/test_cable_connect_form.py +0 -0
  444. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_api.py +0 -0
  445. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_cablepaths.py +0 -0
  446. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_filters.py +0 -0
  447. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_forms.py +0 -0
  448. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_graphql.py +0 -0
  449. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_models.py +0 -0
  450. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_natural_ordering.py +0 -0
  451. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_signals.py +0 -0
  452. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/tests/test_views.py +0 -0
  453. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/urls.py +0 -0
  454. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/dcim/utils.py +0 -0
  455. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/__init__.py +0 -0
  456. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/admin.py +0 -0
  457. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/__init__.py +0 -0
  458. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/customfields.py +0 -0
  459. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/fields.py +0 -0
  460. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/nested_serializers.py +0 -0
  461. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/relationships.py +0 -0
  462. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/serializers.py +0 -0
  463. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/urls.py +0 -0
  464. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/api/views.py +0 -0
  465. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/apps.py +0 -0
  466. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/choices.py +0 -0
  467. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/constants.py +0 -0
  468. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/context_managers.py +0 -0
  469. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/datasources/__init__.py +0 -0
  470. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/datasources/git.py +0 -0
  471. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/datasources/registry.py +0 -0
  472. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/datasources/utils.py +0 -0
  473. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/factory.py +0 -0
  474. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/filters/__init__.py +0 -0
  475. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/filters/customfields.py +0 -0
  476. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/filters/mixins.py +0 -0
  477. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/forms/__init__.py +0 -0
  478. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/forms/base.py +0 -0
  479. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/forms/forms.py +0 -0
  480. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/forms/mixins.py +0 -0
  481. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/graphql/__init__.py +0 -0
  482. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/graphql/types.py +0 -0
  483. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/health_checks.py +0 -0
  484. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/homepage.py +0 -0
  485. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/jobs.py +0 -0
  486. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/__init__.py +0 -0
  487. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/__init__.py +0 -0
  488. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/fix_custom_fields.py +0 -0
  489. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/nbshell.py +0 -0
  490. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/refresh_dynamic_group_member_caches.py +0 -0
  491. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/remove_stale_scheduled_jobs.py +0 -0
  492. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/renaturalize.py +0 -0
  493. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/rqworker.py +0 -0
  494. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/runjob.py +0 -0
  495. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/management/commands/webhook_receiver.py +0 -0
  496. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0001_initial_part_1.py +0 -0
  497. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0002_initial_part_2.py +0 -0
  498. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0003_initial_part_3.py +0 -0
  499. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0004_populate_default_status_records.py +0 -0
  500. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0005_configcontext_device_types.py +0 -0
  501. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0006_graphqlquery.py +0 -0
  502. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0007_configcontextschema.py +0 -0
  503. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0008_jobresult__custom_field_data.py +0 -0
  504. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0009_computedfield.py +0 -0
  505. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0010_change_cf_validation_max_min_field_to_bigint.py +0 -0
  506. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0011_fileattachment_fileproxy.py +0 -0
  507. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0012_healthchecktestmodel.py +0 -0
  508. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0013_default_fallback_value_computedfield.py +0 -0
  509. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0014_auto_slug.py +0 -0
  510. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0015_scheduled_job.py +0 -0
  511. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0016_secret.py +0 -0
  512. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0017_joblogentry.py +0 -0
  513. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0018_joblog_data_migration.py +0 -0
  514. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0019_joblogentry__meta_options__related_name.py +0 -0
  515. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0020_customfield_changelog.py +0 -0
  516. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0021_customfield_changelog_data.py +0 -0
  517. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0022_objectchange_object_datav2.py +0 -0
  518. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0023_job_model.py +0 -0
  519. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0024_job_data_migration.py +0 -0
  520. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0025_add_advanced_ui_boolean_to_customfield_conputedfield_and_relationship.py +0 -0
  521. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0026_job_add_gitrepository_fk.py +0 -0
  522. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0027_job_gitrepository_data_migration.py +0 -0
  523. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0028_job_reduce_source.py +0 -0
  524. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0029_dynamicgroup.py +0 -0
  525. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0030_webhook_alter_unique_together.py +0 -0
  526. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0031_tag_content_types.py +0 -0
  527. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0032_tag_content_types_data_migration.py +0 -0
  528. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0033_add__optimized_indexing.py +0 -0
  529. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0034_alter_fileattachment_mimetype.py +0 -0
  530. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0035_scheduledjob_crontab.py +0 -0
  531. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0036_job_add_has_sensitive_variables.py +0 -0
  532. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0037_configcontextschema__remove_name_unique__create_constraint_unique_name_owner.py +0 -0
  533. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0038_configcontext_locations.py +0 -0
  534. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0039_objectchange__add_change_context.py +0 -0
  535. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0040_dynamicgroup__dynamicgroupmembership.py +0 -0
  536. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0041_jobresult_job_kwargs.py +0 -0
  537. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0042_job__add_is_job_hook_receiver.py +0 -0
  538. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0043_note.py +0 -0
  539. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0044_add_job_hook.py +0 -0
  540. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0045_add_custom_field_slug.py +0 -0
  541. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0046_populate_custom_field_slug_label.py +0 -0
  542. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0047_enforce_custom_field_slug.py +0 -0
  543. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0048_alter_objectchange_change_context_detail.py +0 -0
  544. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0049_alter_tag_slug.py +0 -0
  545. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0050_customfield_grouping.py +0 -0
  546. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0051_add_job_task_queues.py +0 -0
  547. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0052_configcontext_device_redundancy_groups.py +0 -0
  548. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0053_relationship_required_on.py +0 -0
  549. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0054_scheduledjob_kwargs_request_user_change.py +0 -0
  550. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0055_configcontext_dynamic_groups.py +0 -0
  551. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0056_objectchange_add_reverse_time_idx.py +0 -0
  552. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0057_jobbutton.py +0 -0
  553. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/0058_jobresult_add_time_status_idxs.py +0 -0
  554. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/migrations/__init__.py +0 -0
  555. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/__init__.py +0 -0
  556. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/change_logging.py +0 -0
  557. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/customfields.py +0 -0
  558. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/datasources.py +0 -0
  559. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/groups.py +0 -0
  560. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/jobs.py +0 -0
  561. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/mixins.py +0 -0
  562. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/models.py +0 -0
  563. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/relationships.py +0 -0
  564. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/secrets.py +0 -0
  565. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/statuses.py +0 -0
  566. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/models/tags.py +0 -0
  567. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/navigation.py +0 -0
  568. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/__init__.py +0 -0
  569. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/exceptions.py +0 -0
  570. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/tables.py +0 -0
  571. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/urls.py +0 -0
  572. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/utils.py +0 -0
  573. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/validators.py +0 -0
  574. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/plugins/views.py +0 -0
  575. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/querysets.py +0 -0
  576. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/registry.py +0 -0
  577. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/reports.py +0 -0
  578. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/scripts.py +0 -0
  579. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/secrets/__init__.py +0 -0
  580. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/secrets/exceptions.py +0 -0
  581. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/secrets/providers.py +0 -0
  582. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/signals.py +0 -0
  583. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tables.py +0 -0
  584. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tasks.py +0 -0
  585. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/django_ajax_tables/ajax_wrapper.html +0 -0
  586. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/computedfield.html +0 -0
  587. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/computedfield_edit.html +0 -0
  588. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/configcontext.html +0 -0
  589. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/configcontext_edit.html +0 -0
  590. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/configcontextschema.html +0 -0
  591. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/configcontextschema_edit.html +0 -0
  592. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/configcontextschema_validation.html +0 -0
  593. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/customfield.html +0 -0
  594. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/customfield_edit.html +0 -0
  595. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/customlink.html +0 -0
  596. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/dynamicgroup.html +0 -0
  597. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/dynamicgroup_edit.html +0 -0
  598. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/exporttemplate.html +0 -0
  599. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/gitrepository.html +0 -0
  600. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/gitrepository_list.html +0 -0
  601. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/gitrepository_object_edit.html +0 -0
  602. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/gitrepository_result.html +0 -0
  603. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/graphqlquery.html +0 -0
  604. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/job_label.html +0 -0
  605. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/job_table.html +0 -0
  606. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/jobresult.html +0 -0
  607. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/jobresult_js.html +0 -0
  608. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/json_data.html +0 -0
  609. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/json_format.html +0 -0
  610. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/overridable_field.html +0 -0
  611. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/panel_changelog.html +0 -0
  612. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/panel_jobhistory.html +0 -0
  613. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/secret_provider_parameters_form.html +0 -0
  614. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/inc/tags_panel.html +0 -0
  615. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/job.html +0 -0
  616. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/job_approval_confirmation.html +0 -0
  617. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/job_approval_request.html +0 -0
  618. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/job_detail.html +0 -0
  619. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/job_edit.html +0 -0
  620. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/job_list.html +0 -0
  621. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/jobbutton_retrieve.html +0 -0
  622. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/jobhook.html +0 -0
  623. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/jobresult.html +0 -0
  624. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/object_changelog.html +0 -0
  625. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/object_configcontext.html +0 -0
  626. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/object_dynamicgroups.html +0 -0
  627. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/object_notes.html +0 -0
  628. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/objectchange.html +0 -0
  629. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/objectchange_list.html +0 -0
  630. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/plugin_detail.html +0 -0
  631. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/plugins_list.html +0 -0
  632. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/relationship.html +0 -0
  633. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/relationship_edit.html +0 -0
  634. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/scheduled_jobs_approval_queue_list.html +0 -0
  635. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/scheduledjob.html +0 -0
  636. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/secret.html +0 -0
  637. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/secret_edit.html +0 -0
  638. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/secretsgroup.html +0 -0
  639. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/secretsgroup_edit.html +0 -0
  640. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/status.html +0 -0
  641. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/tag.html +0 -0
  642. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/tag_edit.html +0 -0
  643. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/templatetags/log_level.html +0 -0
  644. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/templatetags/plugin_banners.html +0 -0
  645. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/templatetags/plugin_object_detail_tabs.html +0 -0
  646. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templates/extras/webhook.html +0 -0
  647. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/__init__.py +0 -0
  648. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/computed_fields.py +0 -0
  649. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/custom_links.py +0 -0
  650. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/job_buttons.py +0 -0
  651. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/log_levels.py +0 -0
  652. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/plugins.py +0 -0
  653. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/templatetags/registry.py +0 -0
  654. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/__init__.py +0 -0
  655. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/constants.py +0 -0
  656. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/__init__.py +0 -0
  657. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/api_test_job.py +0 -0
  658. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/script_variables.py +0 -0
  659. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_fail.py +0 -0
  660. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_field_default.py +0 -0
  661. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_field_order.py +0 -0
  662. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_file_upload_fail.py +0 -0
  663. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_file_upload_pass.py +0 -0
  664. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_ipaddress_vars.py +0 -0
  665. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_job_button_receiver.py +0 -0
  666. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_job_hook_receiver.py +0 -0
  667. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_log_redaction.py +0 -0
  668. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_modify_db.py +0 -0
  669. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_no_field_order.py +0 -0
  670. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_object_var_optional.py +0 -0
  671. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_object_var_required.py +0 -0
  672. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_object_vars.py +0 -0
  673. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_pass.py +0 -0
  674. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_profiling.py +0 -0
  675. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_read_only_fail.py +0 -0
  676. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_read_only_no_commit_field.py +0 -0
  677. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_read_only_pass.py +0 -0
  678. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_required_args.py +0 -0
  679. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_site_with_custom_field.py +0 -0
  680. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_soft_time_limit_greater_than_time_limit.py +0 -0
  681. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_jobs/test_task_queues.py +0 -0
  682. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/example_plugin_dependency/__init__.py +0 -0
  683. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/__init__.py +0 -0
  684. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_computedfields.py +0 -0
  685. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_configcontextschema.py +0 -0
  686. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_customfields.py +0 -0
  687. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_dynamicgroups.py +0 -0
  688. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_jobs.py +0 -0
  689. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_notes.py +0 -0
  690. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_plugin_banner.py +0 -0
  691. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_plugins.py +0 -0
  692. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_relationships.py +0 -0
  693. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/integration/test_tagfilter.py +0 -0
  694. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_api.py +0 -0
  695. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_changelog.py +0 -0
  696. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_context_managers.py +0 -0
  697. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_customfields.py +0 -0
  698. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_datasources.py +0 -0
  699. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_dynamicgroups.py +0 -0
  700. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_filters.py +0 -0
  701. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_forms.py +0 -0
  702. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_git.py +0 -0
  703. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_jobs.py +0 -0
  704. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_management.py +0 -0
  705. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_models.py +0 -0
  706. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_notes.py +0 -0
  707. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_plugins.py +0 -0
  708. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_registry.py +0 -0
  709. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_relationships.py +0 -0
  710. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_scripts.py +0 -0
  711. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_tags.py +0 -0
  712. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_templatetags.py +0 -0
  713. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_utils.py +0 -0
  714. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_views.py +0 -0
  715. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/tests/test_webhooks.py +0 -0
  716. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/urls.py +0 -0
  717. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/utils.py +0 -0
  718. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/views.py +0 -0
  719. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/extras/webhooks.py +0 -0
  720. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/generate_secret_key.py +0 -0
  721. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/__init__.py +0 -0
  722. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/api/__init__.py +0 -0
  723. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/api/nested_serializers.py +0 -0
  724. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/api/serializers.py +0 -0
  725. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/api/urls.py +0 -0
  726. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/api/views.py +0 -0
  727. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/apps.py +0 -0
  728. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/choices.py +0 -0
  729. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/constants.py +0 -0
  730. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/factory.py +0 -0
  731. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/fields.py +0 -0
  732. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/filters.py +0 -0
  733. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/formfields.py +0 -0
  734. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/forms.py +0 -0
  735. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/graphql/__init__.py +0 -0
  736. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/graphql/types.py +0 -0
  737. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/homepage.py +0 -0
  738. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/lookups.py +0 -0
  739. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0001_initial_part_1.py +0 -0
  740. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0002_initial_part_2.py +0 -0
  741. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0003_remove_max_length.py +0 -0
  742. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0004_fixup_p2p_broadcast.py +0 -0
  743. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0005_auto_slug.py +0 -0
  744. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0006_ipaddress_nat_outside_list.py +0 -0
  745. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0007_add_natural_indexing.py +0 -0
  746. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0008_prefix_vlan_vlangroup_location.py +0 -0
  747. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/0009_alter_vlan_name.py +0 -0
  748. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/migrations/__init__.py +0 -0
  749. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/models.py +0 -0
  750. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/navigation.py +0 -0
  751. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/querysets.py +0 -0
  752. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tables.py +0 -0
  753. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/aggregate.html +0 -0
  754. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/aggregate_edit.html +0 -0
  755. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/aggregate_list.html +0 -0
  756. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/inc/ipadress_edit_header.html +0 -0
  757. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/inc/service.html +0 -0
  758. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/inc/toggle_available.html +0 -0
  759. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/inc/vlangroup_header.html +0 -0
  760. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/ipaddress.html +0 -0
  761. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/ipaddress_assign.html +0 -0
  762. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +0 -0
  763. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/ipaddress_edit.html +0 -0
  764. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/prefix.html +0 -0
  765. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/prefix_delete.html +0 -0
  766. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/prefix_edit.html +0 -0
  767. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/prefix_ipaddresses.html +0 -0
  768. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/prefix_list.html +0 -0
  769. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/prefix_prefixes.html +0 -0
  770. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/rir.html +0 -0
  771. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/role.html +0 -0
  772. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/routetarget.html +0 -0
  773. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/service.html +0 -0
  774. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/service_edit.html +0 -0
  775. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vlan.html +0 -0
  776. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vlan_edit.html +0 -0
  777. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vlan_interfaces.html +0 -0
  778. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vlan_vminterfaces.html +0 -0
  779. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vlangroup.html +0 -0
  780. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vrf.html +0 -0
  781. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/templates/ipam/vrf_edit.html +0 -0
  782. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/__init__.py +0 -0
  783. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/integration/__init__.py +0 -0
  784. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/integration/test_prefixes.py +0 -0
  785. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_api.py +0 -0
  786. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_filters.py +0 -0
  787. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_forms.py +0 -0
  788. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_graphql.py +0 -0
  789. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_models.py +0 -0
  790. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_ordering.py +0 -0
  791. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_querysets.py +0 -0
  792. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/tests/test_views.py +0 -0
  793. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/urls.py +0 -0
  794. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/utils.py +0 -0
  795. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/validators.py +0 -0
  796. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/ipam/views.py +0 -0
  797. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css +0 -0
  798. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +0 -0
  799. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css +0 -0
  800. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +0 -0
  801. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +0 -0
  802. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +0 -0
  803. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +0 -0
  804. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +0 -0
  805. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.eot +0 -0
  806. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.svg +0 -0
  807. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.ttf +0 -0
  808. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff +0 -0
  809. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
  810. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/js/bootstrap.js +0 -0
  811. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/js/bootstrap.min.js +0 -0
  812. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/bootstrap-3.4.1-dist/js/npm.js +0 -0
  813. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/clipboard.js-2.0.9/clipboard.min.js +0 -0
  814. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/css/base.css +0 -0
  815. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/css/dark.css +0 -0
  816. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/css/rack_elevation.css +0 -0
  817. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/404.html +0 -0
  818. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/caching.html +0 -0
  819. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/change-logging.html +0 -0
  820. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/config-contexts.html +0 -0
  821. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/graphql.html +0 -0
  822. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/healthcheck.html +0 -0
  823. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +0 -0
  824. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/jobs.html +0 -0
  825. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/napalm.html +0 -0
  826. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/prometheus-metrics.html +0 -0
  827. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/additional-features/template-filters.html +0 -0
  828. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/administration/celery-queues.html +0 -0
  829. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/administration/nautobot-server.html +0 -0
  830. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/administration/nautobot-shell.html +0 -0
  831. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/administration/permissions.html +0 -0
  832. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/administration/replicating-nautobot.html +0 -0
  833. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/administration/request-profiling.html +0 -0
  834. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/apps/index.html +0 -0
  835. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/apps/nautobot-apps.html +0 -0
  836. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/_mkdocstrings.css +0 -0
  837. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-ChatOps.png +0 -0
  838. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-DeviceLifecycle.png +0 -0
  839. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-DeviceOnboarding.png +0 -0
  840. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-FirewallModels.png +0 -0
  841. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-GoldenConfiguration.png +0 -0
  842. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-NautobotPluginNornir.png +0 -0
  843. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/app-icons/icon-SSoT.png +0 -0
  844. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/extra.css +0 -0
  845. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/favicon.ico +0 -0
  846. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/images/favicon.png +0 -0
  847. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/bundle.220ee61c.min.js +0 -0
  848. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/bundle.220ee61c.min.js.map +0 -0
  849. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ar.min.js +0 -0
  850. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.da.min.js +0 -0
  851. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.de.min.js +0 -0
  852. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.du.min.js +0 -0
  853. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.es.min.js +0 -0
  854. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.fi.min.js +0 -0
  855. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.fr.min.js +0 -0
  856. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.hi.min.js +0 -0
  857. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.hu.min.js +0 -0
  858. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.hy.min.js +0 -0
  859. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.it.min.js +0 -0
  860. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ja.min.js +0 -0
  861. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.jp.min.js +0 -0
  862. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.kn.min.js +0 -0
  863. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ko.min.js +0 -0
  864. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.multi.min.js +0 -0
  865. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.nl.min.js +0 -0
  866. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.no.min.js +0 -0
  867. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.pt.min.js +0 -0
  868. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ro.min.js +0 -0
  869. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ru.min.js +0 -0
  870. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.sa.min.js +0 -0
  871. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -0
  872. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.sv.min.js +0 -0
  873. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ta.min.js +0 -0
  874. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.te.min.js +0 -0
  875. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.th.min.js +0 -0
  876. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.tr.min.js +0 -0
  877. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.vi.min.js +0 -0
  878. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.zh.min.js +0 -0
  879. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/tinyseg.js +0 -0
  880. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/lunr/wordcut.js +0 -0
  881. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/workers/search.74e28a9f.min.js +0 -0
  882. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/javascripts/workers/search.74e28a9f.min.js.map +0 -0
  883. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/nautobot_logo.png +0 -0
  884. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/nautobot_logo.svg +0 -0
  885. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/networktocode_bw.png +0 -0
  886. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/overrides/partials/copyright.html +0 -0
  887. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/stylesheets/main.eebd395e.min.css +0 -0
  888. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/stylesheets/main.eebd395e.min.css.map +0 -0
  889. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/stylesheets/palette.ecc896b0.min.css +0 -0
  890. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/assets/stylesheets/palette.ecc896b0.min.css.map +0 -0
  891. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +0 -0
  892. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +0 -0
  893. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/api.html +0 -0
  894. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +0 -0
  895. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +0 -0
  896. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +0 -0
  897. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +0 -0
  898. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/models.html +0 -0
  899. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +0 -0
  900. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +0 -0
  901. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +0 -0
  902. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +0 -0
  903. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +0 -0
  904. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +0 -0
  905. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/code-reference/nautobot/apps/views.html +0 -0
  906. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/configuration/authentication/ldap.html +0 -0
  907. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/configuration/authentication/remote.html +0 -0
  908. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/configuration/authentication/sso.html +0 -0
  909. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/configuration/index.html +0 -0
  910. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/configuration/optional-settings.html +0 -0
  911. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/configuration/required-settings.html +0 -0
  912. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/circuits.html +0 -0
  913. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/device-types.html +0 -0
  914. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/devices.html +0 -0
  915. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/ipam.html +0 -0
  916. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/power.html +0 -0
  917. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/secrets.html +0 -0
  918. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/services.html +0 -0
  919. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/sites-and-racks.html +0 -0
  920. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/tenancy.html +0 -0
  921. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/virtualization.html +0 -0
  922. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/core-functionality/vlans.html +0 -0
  923. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/application-registry.html +0 -0
  924. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/best-practices.html +0 -0
  925. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +0 -0
  926. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/extending-models.html +0 -0
  927. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/generic-views.html +0 -0
  928. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/homepage.html +0 -0
  929. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/index.html +0 -0
  930. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/navigation-menu.html +0 -0
  931. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/release-checklist.html +0 -0
  932. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/style-guide.html +0 -0
  933. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/templates.html +0 -0
  934. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/testing.html +0 -0
  935. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/development/user-preferences.html +0 -0
  936. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/docker/index.html +0 -0
  937. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/generate_code_reference_pages.py +0 -0
  938. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/img/edge_dev_circuit_relationship.png +0 -0
  939. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/img/leaf_dev_no_circuit_relationship.png +0 -0
  940. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/img/relationship_w_json_filter.png +0 -0
  941. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/index.html +0 -0
  942. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/centos.html +0 -0
  943. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/external-authentication.html +0 -0
  944. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/http-server.html +0 -0
  945. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/index.html +0 -0
  946. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/migrating-from-netbox.html +0 -0
  947. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/migrating-from-postgresql.html +0 -0
  948. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/nautobot.html +0 -0
  949. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/selinux-troubleshooting.html +0 -0
  950. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/services.html +0 -0
  951. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/ubuntu.html +0 -0
  952. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/installation/upgrading.html +0 -0
  953. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/admin_ui_run_permission.png +0 -0
  954. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/development/homepage_changelog_panel.png +0 -0
  955. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/development/homepage_dcim_panel.png +0 -0
  956. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/development/index_bug_wf.jpg +0 -0
  957. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/development/index_feature_request_wf.jpg +0 -0
  958. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/development/index_release_cadence.drawio +0 -0
  959. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/development/index_release_cadence.jpg +0 -0
  960. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/installation/nautobot_ui_admin.png +0 -0
  961. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/installation/nautobot_ui_guest.png +0 -0
  962. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dcim_cable_trace.png +0 -0
  963. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dcim_cable_trace_circuit.png +0 -0
  964. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_filtering_01.png +0 -0
  965. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_01.png +0 -0
  966. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_02.png +0 -0
  967. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_03.png +0 -0
  968. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_04.png +0 -0
  969. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_05.png +0 -0
  970. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_01.png +0 -0
  971. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_02.png +0 -0
  972. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_03.png +0 -0
  973. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_04.png +0 -0
  974. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_05.png +0 -0
  975. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_06.png +0 -0
  976. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_07.png +0 -0
  977. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_01.png +0 -0
  978. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_02.png +0 -0
  979. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_03.png +0 -0
  980. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/jobbutton_form.png +0 -0
  981. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/models/site_jobbuttons.png +0 -0
  982. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/nautobot_application_stack_high_level.png +0 -0
  983. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/nautobot_application_stack_low_level.png +0 -0
  984. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/plugins/plugin_admin_ui.png +0 -0
  985. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/plugins/plugin_rest_api_endpoint.png +0 -0
  986. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/power_distribution.png +0 -0
  987. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/ss_config_contexts.png +0 -0
  988. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/ss_graphiql.png +0 -0
  989. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/ss_main_page.png +0 -0
  990. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/ss_plugin_chatops.png +0 -0
  991. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/ss_plugin_golden_config.png +0 -0
  992. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/ss_prefix_hierarchy.png +0 -0
  993. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/user-guide/administration/guides/request-profiling/advanced-settings.png +0 -0
  994. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/media/user-guide/administration/guides/request-profiling/silk-ui.png +0 -0
  995. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/circuits/circuit.html +0 -0
  996. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/circuits/circuittermination.html +0 -0
  997. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/circuits/circuittype.html +0 -0
  998. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/circuits/provider.html +0 -0
  999. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/circuits/providernetwork.html +0 -0
  1000. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/cable.html +0 -0
  1001. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/consoleport.html +0 -0
  1002. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/consoleporttemplate.html +0 -0
  1003. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/consoleserverport.html +0 -0
  1004. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +0 -0
  1005. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/device.html +0 -0
  1006. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/devicebay.html +0 -0
  1007. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/devicebaytemplate.html +0 -0
  1008. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +0 -0
  1009. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/devicerole.html +0 -0
  1010. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/devicetype.html +0 -0
  1011. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/frontport.html +0 -0
  1012. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/frontporttemplate.html +0 -0
  1013. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/interface.html +0 -0
  1014. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/interfaceredundancygroup.html +0 -0
  1015. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/interfacetemplate.html +0 -0
  1016. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/inventoryitem.html +0 -0
  1017. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/location.html +0 -0
  1018. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/locationtype.html +0 -0
  1019. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/manufacturer.html +0 -0
  1020. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/platform.html +0 -0
  1021. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/powerfeed.html +0 -0
  1022. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/poweroutlet.html +0 -0
  1023. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +0 -0
  1024. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/powerpanel.html +0 -0
  1025. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/powerport.html +0 -0
  1026. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/powerporttemplate.html +0 -0
  1027. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/rack.html +0 -0
  1028. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/rackgroup.html +0 -0
  1029. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/rackreservation.html +0 -0
  1030. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/rackrole.html +0 -0
  1031. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/rearport.html +0 -0
  1032. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/rearporttemplate.html +0 -0
  1033. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/region.html +0 -0
  1034. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/site.html +0 -0
  1035. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/dcim/virtualchassis.html +0 -0
  1036. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/computedfield.html +0 -0
  1037. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/configcontext.html +0 -0
  1038. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/configcontextschema.html +0 -0
  1039. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/customfield.html +0 -0
  1040. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/customlink.html +0 -0
  1041. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/dynamicgroup.html +0 -0
  1042. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/exporttemplate.html +0 -0
  1043. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/gitrepository.html +0 -0
  1044. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/graphqlquery.html +0 -0
  1045. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/imageattachment.html +0 -0
  1046. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/job.html +0 -0
  1047. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/jobbutton.html +0 -0
  1048. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/jobhook.html +0 -0
  1049. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/joblogentry.html +0 -0
  1050. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/jobresult.html +0 -0
  1051. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/note.html +0 -0
  1052. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/relationship.html +0 -0
  1053. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/secret.html +0 -0
  1054. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/secretsgroup.html +0 -0
  1055. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/status.html +0 -0
  1056. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/tag.html +0 -0
  1057. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/extras/webhook.html +0 -0
  1058. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/aggregate.html +0 -0
  1059. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/ipaddress.html +0 -0
  1060. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/prefix.html +0 -0
  1061. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/rir.html +0 -0
  1062. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/role.html +0 -0
  1063. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/routetarget.html +0 -0
  1064. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/service.html +0 -0
  1065. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/vlan.html +0 -0
  1066. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/vlangroup.html +0 -0
  1067. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/ipam/vrf.html +0 -0
  1068. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/tenancy/tenant.html +0 -0
  1069. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/tenancy/tenantgroup.html +0 -0
  1070. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/users/objectpermission.html +0 -0
  1071. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/users/token.html +0 -0
  1072. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/virtualization/cluster.html +0 -0
  1073. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/virtualization/clustergroup.html +0 -0
  1074. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/virtualization/clustertype.html +0 -0
  1075. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/virtualization/virtualmachine.html +0 -0
  1076. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/models/virtualization/vminterface.html +0 -0
  1077. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/nautobot_logo.png +0 -0
  1078. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/nautobot_logo.svg +0 -0
  1079. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/objects.inv +0 -0
  1080. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/plugins/development.html +0 -0
  1081. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/plugins/index.html +0 -0
  1082. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/plugins/porting-from-netbox.html +0 -0
  1083. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/index.html +0 -0
  1084. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.0.html +0 -0
  1085. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.1.html +0 -0
  1086. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.2.html +0 -0
  1087. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.3.html +0 -0
  1088. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.4.html +0 -0
  1089. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/release-notes/version-1.5.html +0 -0
  1090. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/rest-api/authentication.html +0 -0
  1091. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/rest-api/filtering.html +0 -0
  1092. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/rest-api/overview.html +0 -0
  1093. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/custom-fields.html +0 -0
  1094. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +0 -0
  1095. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/index.html +0 -0
  1096. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/interfaces.html +0 -0
  1097. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/ipam.html +0 -0
  1098. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/platforms.html +0 -0
  1099. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/regions.html +0 -0
  1100. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/search-bar.html +0 -0
  1101. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/tenants.html +0 -0
  1102. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +0 -0
  1103. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/git-data-source.html +0 -0
  1104. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/graphql.html +0 -0
  1105. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_choices.png +0 -0
  1106. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_detail_grouped.png +0 -0
  1107. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_detail_label.png +0 -0
  1108. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_edit.png +0 -0
  1109. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_select.png +0 -0
  1110. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/1-create-site.png +0 -0
  1111. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/10-add-platform.png +0 -0
  1112. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/11-platforms-page.png +0 -0
  1113. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/12-add-tenant.png +0 -0
  1114. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/13-assign-tenant-to-device.png +0 -0
  1115. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/14-assign-tenant-to-device-2.png +0 -0
  1116. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/15-create-device-type.png +0 -0
  1117. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/16-interface-templates.png +0 -0
  1118. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/17-templated-interfaces.png +0 -0
  1119. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/18-assign-device-type.png +0 -0
  1120. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/19-edit-ints-for-lag.png +0 -0
  1121. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/2-create-manufacturer.png +0 -0
  1122. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/20-ints-int-lag.png +0 -0
  1123. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/21-device-type.png +0 -0
  1124. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/22-create-vlans.png +0 -0
  1125. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/23-create-vlans-2.png +0 -0
  1126. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/24-vlan-main-page.png +0 -0
  1127. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/25-add-vlan-to-interface.png +0 -0
  1128. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/26-add-vlan-to-interface-2.png +0 -0
  1129. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/27-add-rir.png +0 -0
  1130. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/28-add-aggregate.png +0 -0
  1131. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/29-view-aggregates.png +0 -0
  1132. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/3-create-role.png +0 -0
  1133. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/30-add-prefix.png +0 -0
  1134. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/31-view-aggregates-again.png +0 -0
  1135. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/32-add-ip-addr.png +0 -0
  1136. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/33-assign-address.png +0 -0
  1137. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/34-assign-address-2.png +0 -0
  1138. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/35-assign-address-3.png +0 -0
  1139. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/36-verify-address.png +0 -0
  1140. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/37-verify-prefix.png +0 -0
  1141. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/38-verify-prefix2.png +0 -0
  1142. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/39-address-search.png +0 -0
  1143. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/4-create-device-type.png +0 -0
  1144. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/40-addr-main-page.png +0 -0
  1145. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/41-device-search-results.png +0 -0
  1146. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/42-address-search-v2.png +0 -0
  1147. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/43-get-to-device-main-page.png +0 -0
  1148. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/44-add-platform.png +0 -0
  1149. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/5-create-device.png +0 -0
  1150. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/6-create-region.png +0 -0
  1151. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/7-region-page.png +0 -0
  1152. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/8-add-site-to-region.png +0 -0
  1153. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/9-add-site-to-region-step-2.png +0 -0
  1154. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/01-git-data-source.png +0 -0
  1155. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/02-git-data-source.png +0 -0
  1156. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/03-git-data-source.png +0 -0
  1157. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/04-git-data-source.png +0 -0
  1158. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/05-git-data-source.png +0 -0
  1159. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/06-git-data-source.png +0 -0
  1160. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/07-git-data-source.png +0 -0
  1161. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/08-git-data-source.png +0 -0
  1162. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/09-git-data-source.png +0 -0
  1163. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/10-git-data-source.png +0 -0
  1164. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/11-git-data-source.png +0 -0
  1165. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/12-git-data-source.png +0 -0
  1166. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/13-git-data-source.png +0 -0
  1167. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/14-git-data-source.png +0 -0
  1168. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/15-git-data-source.png +0 -0
  1169. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/16-git-data-source.png +0 -0
  1170. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/17-git-data-source.png +0 -0
  1171. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/git-as-data-source/18-git-data-source.png +0 -0
  1172. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/00-graphiql.png +0 -0
  1173. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/01-graphiql-explorer.png +0 -0
  1174. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/02-graphiql-explorer-device-query.png +0 -0
  1175. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/03-graphiql-explorer-device-attributes.png +0 -0
  1176. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/04-graphql-query-01.png +0 -0
  1177. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/05-graphiql-autocomplete.png +0 -0
  1178. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/06-graphql-query-02.png +0 -0
  1179. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/07-graphql-query-03.png +0 -0
  1180. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/08-graphql-query-04.png +0 -0
  1181. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/09-graphql-query-05.png +0 -0
  1182. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/10-graphql-swagger.png +0 -0
  1183. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/graphql/11-graphql-query-06.png +0 -0
  1184. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/01-relationships.png +0 -0
  1185. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/02-relationships.png +0 -0
  1186. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/03-relationships.png +0 -0
  1187. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/04-relationships.png +0 -0
  1188. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/05-relationships.png +0 -0
  1189. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/06-relationships.png +0 -0
  1190. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/07-relationships.png +0 -0
  1191. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/08-relationships.png +0 -0
  1192. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/09-relationships.png +0 -0
  1193. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/10-relationships.png +0 -0
  1194. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/relationships/11-relationships.png +0 -0
  1195. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/s3-storage/user-guide-s3-1.png +0 -0
  1196. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/images/s3-storage/user-guide-s3-2.png +0 -0
  1197. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/relationships.html +0 -0
  1198. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/docs/user-guides/s3-django-storage.html +0 -0
  1199. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/flatpickr-4.6.9/flatpickr.min.js +0 -0
  1200. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/flatpickr-4.6.9/themes/light.min.css +0 -0
  1201. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/graphiql-1.5.16/graphiql.min.css +0 -0
  1202. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/graphiql-1.5.16/graphiql.min.js +0 -0
  1203. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/ajax-loader.gif +0 -0
  1204. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/dark-theme.png +0 -0
  1205. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/favicon.ico +0 -0
  1206. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/light-theme.png +0 -0
  1207. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon.svg +0 -0
  1208. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_16x16.png +0 -0
  1209. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_180x180.png +0 -0
  1210. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_192x192.png +0 -0
  1211. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_270x270.png +0 -0
  1212. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_32x32.png +0 -0
  1213. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_384x384.png +0 -0
  1214. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_icon_monochrome.svg +0 -0
  1215. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_logo.png +0 -0
  1216. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/nautobot_logo.svg +0 -0
  1217. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/system-theme.png +0 -0
  1218. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/img/tint_20.png +0 -0
  1219. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery/jquery-3.7.1.min.js +0 -0
  1220. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery/jquery.formset.js +0 -0
  1221. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_444444_256x240.png +0 -0
  1222. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_555555_256x240.png +0 -0
  1223. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_777620_256x240.png +0 -0
  1224. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_777777_256x240.png +0 -0
  1225. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_cc0000_256x240.png +0 -0
  1226. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_ffffff_256x240.png +0 -0
  1227. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.min.css +0 -0
  1228. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.min.js +0 -0
  1229. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.structure.min.css +0 -0
  1230. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.theme.min.css +0 -0
  1231. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/cabletrace.js +0 -0
  1232. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/connection_toggles.js +0 -0
  1233. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/forms.js +0 -0
  1234. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/interface_filtering.js +0 -0
  1235. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/job_result.js +0 -0
  1236. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/log_level_filtering.js +0 -0
  1237. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/rack_elevations.js +0 -0
  1238. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/tableconfig.js +0 -0
  1239. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/js/theme.js +0 -0
  1240. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/.github/ISSUE_TEMPLATE.md +0 -0
  1241. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/LICENSE +0 -0
  1242. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/README.md +0 -0
  1243. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css +0 -0
  1244. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css.map +0 -0
  1245. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css +0 -0
  1246. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css.map +0 -0
  1247. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.eot +0 -0
  1248. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.ttf +0 -0
  1249. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff +0 -0
  1250. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff2 +0 -0
  1251. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/package.json +0 -0
  1252. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/preview.html +0 -0
  1253. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_animated.scss +0 -0
  1254. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_core.scss +0 -0
  1255. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_extras.scss +0 -0
  1256. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_functions.scss +0 -0
  1257. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_icons.scss +0 -0
  1258. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_path.scss +0 -0
  1259. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/_variables.scss +0 -0
  1260. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/materialdesignicons-6.5.95/scss/materialdesignicons.scss +0 -0
  1261. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/react-16.14.0/react.production.min.js +0 -0
  1262. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/react-dom-16.14.0/react-dom.production.min.js +0 -0
  1263. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/af.js +0 -0
  1264. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ar.js +0 -0
  1265. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/az.js +0 -0
  1266. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/bg.js +0 -0
  1267. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/bn.js +0 -0
  1268. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/bs.js +0 -0
  1269. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ca.js +0 -0
  1270. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/cs.js +0 -0
  1271. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/da.js +0 -0
  1272. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/de.js +0 -0
  1273. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/dsb.js +0 -0
  1274. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/el.js +0 -0
  1275. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/en.js +0 -0
  1276. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/es.js +0 -0
  1277. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/et.js +0 -0
  1278. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/eu.js +0 -0
  1279. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/fa.js +0 -0
  1280. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/fi.js +0 -0
  1281. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/fr.js +0 -0
  1282. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/gl.js +0 -0
  1283. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/he.js +0 -0
  1284. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/hi.js +0 -0
  1285. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/hr.js +0 -0
  1286. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/hsb.js +0 -0
  1287. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/hu.js +0 -0
  1288. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/hy.js +0 -0
  1289. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/id.js +0 -0
  1290. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/is.js +0 -0
  1291. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/it.js +0 -0
  1292. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ja.js +0 -0
  1293. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ka.js +0 -0
  1294. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/km.js +0 -0
  1295. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ko.js +0 -0
  1296. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/lt.js +0 -0
  1297. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/lv.js +0 -0
  1298. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/mk.js +0 -0
  1299. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ms.js +0 -0
  1300. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/nb.js +0 -0
  1301. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ne.js +0 -0
  1302. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/nl.js +0 -0
  1303. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/pl.js +0 -0
  1304. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ps.js +0 -0
  1305. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/pt-BR.js +0 -0
  1306. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/pt.js +0 -0
  1307. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ro.js +0 -0
  1308. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/ru.js +0 -0
  1309. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/sk.js +0 -0
  1310. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/sl.js +0 -0
  1311. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/sq.js +0 -0
  1312. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/sr-Cyrl.js +0 -0
  1313. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/sr.js +0 -0
  1314. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/sv.js +0 -0
  1315. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/th.js +0 -0
  1316. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/tk.js +0 -0
  1317. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/tr.js +0 -0
  1318. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/uk.js +0 -0
  1319. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/vi.js +0 -0
  1320. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/zh-CN.js +0 -0
  1321. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/i18n/zh-TW.js +0 -0
  1322. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/select2.min.css +0 -0
  1323. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-4.0.13/select2.min.js +0 -0
  1324. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css +0 -0
  1325. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/subscriptions-transport-ws-0.9.18/client.min.js +0 -0
  1326. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/project-static/whatwg-fetch-3.6.2/fetch.umd.min.js +0 -0
  1327. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/__init__.py +0 -0
  1328. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/api/__init__.py +0 -0
  1329. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/api/nested_serializers.py +0 -0
  1330. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/api/serializers.py +0 -0
  1331. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/api/urls.py +0 -0
  1332. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/api/views.py +0 -0
  1333. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/apps.py +0 -0
  1334. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/factory.py +0 -0
  1335. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/filters/__init__.py +0 -0
  1336. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/filters/mixins.py +0 -0
  1337. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/forms.py +0 -0
  1338. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/homepage.py +0 -0
  1339. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/migrations/0001_initial.py +0 -0
  1340. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/migrations/0002_auto_slug.py +0 -0
  1341. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/migrations/__init__.py +0 -0
  1342. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/models.py +0 -0
  1343. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/navigation.py +0 -0
  1344. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/tables.py +0 -0
  1345. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/templates/tenancy/tenant.html +0 -0
  1346. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/templates/tenancy/tenant_edit.html +0 -0
  1347. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/templates/tenancy/tenantgroup.html +0 -0
  1348. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/tests/__init__.py +0 -0
  1349. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/tests/test_api.py +0 -0
  1350. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/tests/test_filters.py +0 -0
  1351. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/tests/test_views.py +0 -0
  1352. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/urls.py +0 -0
  1353. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/tenancy/views.py +0 -0
  1354. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/__init__.py +0 -0
  1355. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/admin.py +0 -0
  1356. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/api/__init__.py +0 -0
  1357. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/api/nested_serializers.py +0 -0
  1358. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/api/serializers.py +0 -0
  1359. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/api/urls.py +0 -0
  1360. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/api/views.py +0 -0
  1361. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/apps.py +0 -0
  1362. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/filters.py +0 -0
  1363. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/forms.py +0 -0
  1364. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/migrations/0001_initial.py +0 -0
  1365. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/migrations/0002_token_ordering_by_created.py +0 -0
  1366. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/migrations/__init__.py +0 -0
  1367. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/models.py +0 -0
  1368. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/advanced_settings_edit.html +0 -0
  1369. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/api_tokens.html +0 -0
  1370. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/base.html +0 -0
  1371. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/change_password.html +0 -0
  1372. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/preferences.html +0 -0
  1373. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/profile.html +0 -0
  1374. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/templates/users/sessionkey_delete.html +0 -0
  1375. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/tests/__init__.py +0 -0
  1376. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/tests/test_api.py +0 -0
  1377. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/tests/test_filters.py +0 -0
  1378. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/tests/test_models.py +0 -0
  1379. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/tests/test_views.py +0 -0
  1380. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/urls.py +0 -0
  1381. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/users/views.py +0 -0
  1382. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/__init__.py +0 -0
  1383. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/api.py +0 -0
  1384. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/apps.py +0 -0
  1385. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/checks.py +0 -0
  1386. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/choices.py +0 -0
  1387. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/config.py +0 -0
  1388. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/constants.py +0 -0
  1389. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/deprecation.py +0 -0
  1390. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/error_handlers.py +0 -0
  1391. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/exceptions.py +0 -0
  1392. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/factory.py +0 -0
  1393. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/fields.py +0 -0
  1394. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/filters.py +0 -0
  1395. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/forms/__init__.py +0 -0
  1396. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/forms/constants.py +0 -0
  1397. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/forms/fields.py +0 -0
  1398. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/forms/forms.py +0 -0
  1399. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/forms/utils.py +0 -0
  1400. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/forms/widgets.py +0 -0
  1401. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/git.py +0 -0
  1402. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/logging.py +0 -0
  1403. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/management/__init__.py +0 -0
  1404. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/management/commands/__init__.py +0 -0
  1405. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/management/commands/makemigrations.py +0 -0
  1406. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/management/commands/migrate.py +0 -0
  1407. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/mptt.py +0 -0
  1408. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/ordering.py +0 -0
  1409. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/paginator.py +0 -0
  1410. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/permissions.py +0 -0
  1411. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/query_functions.py +0 -0
  1412. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/querysets.py +0 -0
  1413. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tables.py +0 -0
  1414. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tasks.py +0 -0
  1415. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/buttons/add.html +0 -0
  1416. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/buttons/clone.html +0 -0
  1417. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/buttons/delete.html +0 -0
  1418. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/buttons/edit.html +0 -0
  1419. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/buttons/export.html +0 -0
  1420. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/buttons/import.html +0 -0
  1421. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/confirmation_form.html +0 -0
  1422. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/obj_table.html +0 -0
  1423. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/render_boolean.html +0 -0
  1424. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/render_custom_fields.html +0 -0
  1425. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/render_field.html +0 -0
  1426. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/render_form.html +0 -0
  1427. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/render_relationships.html +0 -0
  1428. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/templatetags/badge.html +0 -0
  1429. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/templatetags/filter_form_modal.html +0 -0
  1430. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/templatetags/modal_form_as_dialog.html +0 -0
  1431. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/templatetags/table_config_form.html +0 -0
  1432. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/templatetags/tag.html +0 -0
  1433. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/utilities/templatetags/utilization_graph.html +0 -0
  1434. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/widgets/colorselect_option.html +0 -0
  1435. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/widgets/select_contenttype.html +0 -0
  1436. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/widgets/select_option_with_pk.html +0 -0
  1437. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/widgets/selectwithdisabled_option.html +0 -0
  1438. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templates/widgets/sluginput.html +0 -0
  1439. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/__init__.py +0 -0
  1440. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/bootstrapped_goodies_tags.py +0 -0
  1441. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/buttons.py +0 -0
  1442. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/form_helpers.py +0 -0
  1443. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/helpers.py +0 -0
  1444. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/netutils.py +0 -0
  1445. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/templatetags/perms.py +0 -0
  1446. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/__init__.py +0 -0
  1447. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/api.py +0 -0
  1448. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/filters.py +0 -0
  1449. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/integration.py +0 -0
  1450. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/mixins.py +0 -0
  1451. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/utils.py +0 -0
  1452. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/testing/views.py +0 -0
  1453. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/__init__.py +0 -0
  1454. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_api.py +0 -0
  1455. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_choices.py +0 -0
  1456. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_config.py +0 -0
  1457. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_filters.py +0 -0
  1458. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_forms.py +0 -0
  1459. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_jinja_filters.py +0 -0
  1460. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_logging.py +0 -0
  1461. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_managers.py +0 -0
  1462. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_ordering.py +0 -0
  1463. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_paginator.py +0 -0
  1464. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_templatetags_helpers.py +0 -0
  1465. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_templatetags_netutils.py +0 -0
  1466. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tests/test_utils.py +0 -0
  1467. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/tree_queries.py +0 -0
  1468. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/utils.py +0 -0
  1469. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/validators.py +0 -0
  1470. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/utilities/views.py +0 -0
  1471. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/__init__.py +0 -0
  1472. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/api/__init__.py +0 -0
  1473. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/api/nested_serializers.py +0 -0
  1474. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/api/serializers.py +0 -0
  1475. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/api/urls.py +0 -0
  1476. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/api/views.py +0 -0
  1477. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/apps.py +0 -0
  1478. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/choices.py +0 -0
  1479. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/filters.py +0 -0
  1480. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/forms.py +0 -0
  1481. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/graphql/__init__.py +0 -0
  1482. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/graphql/types.py +0 -0
  1483. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/homepage.py +0 -0
  1484. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0001_initial.py +0 -0
  1485. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0002_virtualmachine_local_context_schema.py +0 -0
  1486. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0003_vminterface_verbose_name.py +0 -0
  1487. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0004_auto_slug.py +0 -0
  1488. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0005_add_natural_indexing.py +0 -0
  1489. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0006_vminterface_status.py +0 -0
  1490. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0007_vminterface_status_data_migration.py +0 -0
  1491. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0008_vminterface_parent.py +0 -0
  1492. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/0009_cluster_location.py +0 -0
  1493. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/migrations/__init__.py +0 -0
  1494. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/models.py +0 -0
  1495. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/navigation.py +0 -0
  1496. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/signals.py +0 -0
  1497. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/tables.py +0 -0
  1498. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/cluster.html +0 -0
  1499. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/cluster_add_devices.html +0 -0
  1500. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/cluster_edit.html +0 -0
  1501. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/clustergroup.html +0 -0
  1502. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/clustertype.html +0 -0
  1503. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/virtual_machine_vminterface_delete.html +0 -0
  1504. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/virtualmachine.html +0 -0
  1505. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/virtualmachine_component_add.html +0 -0
  1506. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +0 -0
  1507. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/virtualmachine_list.html +0 -0
  1508. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/vminterface.html +0 -0
  1509. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/vminterface_bulk_delete.html +0 -0
  1510. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/templates/virtualization/vminterface_edit.html +0 -0
  1511. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/tests/__init__.py +0 -0
  1512. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/tests/test_api.py +0 -0
  1513. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/tests/test_filters.py +0 -0
  1514. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/tests/test_models.py +0 -0
  1515. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/tests/test_views.py +0 -0
  1516. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/urls.py +0 -0
  1517. {nautobot-1.6.28 → nautobot-1.6.30}/nautobot/virtualization/views.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nautobot
3
- Version: 1.6.28
3
+ Version: 1.6.30
4
4
  Summary: Source of truth and network automation platform.
5
5
  Home-page: https://nautobot.com
6
6
  License: Apache-2.0
@@ -24,7 +24,7 @@ Provides-Extra: remote-storage
24
24
  Provides-Extra: sso
25
25
  Requires-Dist: Django (>=3.2.25,<3.3.0)
26
26
  Requires-Dist: GitPython (>=3.1.41,<3.2.0)
27
- Requires-Dist: Jinja2 (>=3.1.4,<3.2.0)
27
+ Requires-Dist: Jinja2 (>=3.1.5,<3.2.0)
28
28
  Requires-Dist: Markdown (>=3.3.7,<3.4.0)
29
29
  Requires-Dist: MarkupSafe (>=2.1.3,<2.2.0)
30
30
  Requires-Dist: Pillow (>=10.3.0,<10.4.0)
@@ -691,6 +691,24 @@ class CoreConfig(NautobotConfig):
691
691
 
692
692
  monkey_mix(TaggableManager, mixins.TaggableManagerMonkeyMixin)
693
693
 
694
+ # The code block below is to address an issue describe in https://www.cvedetails.com/cve/CVE-2024-42005/
695
+ # An issue was discovered in Django 5.0 before 5.0.8 and 4.2 before 4.2.15.
696
+ # QuerySet.values() and values_list() methods on models with a JSONField are subject to SQL injection
697
+ # in column aliases via a crafted JSON object key as a passed *arg.
698
+ # The fix in Django 4.2 https://github.com/django/django/commit/f4af67b9b41e0f4c117a8741da3abbd1c869ab28/
699
+ # is backported here to Nautobot v1.6.x running on Django 3.2.
700
+ from django.db.models.sql.query import Query
701
+
702
+ Query._set_values = Query.set_values
703
+
704
+ def set_values(self, fields):
705
+ if fields:
706
+ for field in fields:
707
+ self.check_alias(field)
708
+ self._set_values(fields)
709
+
710
+ Query.set_values = set_values
711
+
694
712
 
695
713
  class NautobotConstanceConfig(ConstanceConfig):
696
714
  """Override "Constance" app name to "Configuration"."""
@@ -4,7 +4,8 @@ from unittest.mock import patch
4
4
 
5
5
  from django.core.cache import cache
6
6
  from django.core.exceptions import ValidationError
7
- from django.test import override_settings
7
+ from django.db import models
8
+ from django.test import override_settings, skipUnlessDBFeature
8
9
 
9
10
  from nautobot.core.models import BaseModel
10
11
  from nautobot.utilities.testing import TestCase
@@ -15,6 +16,12 @@ class BaseModelTest(TestCase):
15
16
  def clean(self):
16
17
  raise ValidationError("validation error")
17
18
 
19
+ class JSONFieldModel(BaseModel):
20
+ data = models.JSONField(null=True)
21
+
22
+ class Meta:
23
+ required_db_features = {"supports_json_field"}
24
+
18
25
  def test_validated_save_calls_full_clean(self):
19
26
  with self.assertRaises(ValidationError):
20
27
  self.FakeBaseModel().validated_save()
@@ -61,3 +68,12 @@ class BaseModelTest(TestCase):
61
68
  self.FakeBaseModel._content_type_cached
62
69
  self.FakeBaseModel._content_type_cached
63
70
  self.assertEqual(mock__content_type.call_count, 2)
71
+
72
+ @skipUnlessDBFeature("supports_json_field")
73
+ def test_values_expression_alias_sql_injection_json_field(self):
74
+ crafted_alias = """injected_name" from "expressions_company"; --"""
75
+ msg = "Column aliases cannot contain whitespace characters, quotation marks, semicolons, or SQL comments."
76
+ with self.assertRaisesMessage(ValueError, msg):
77
+ self.JSONFieldModel.objects.values(f"data__{crafted_alias}")
78
+ with self.assertRaisesMessage(ValueError, msg):
79
+ self.JSONFieldModel.objects.values_list(f"data__{crafted_alias}")
@@ -2257,7 +2257,7 @@ class DeviceBayPopulateView(generic.ObjectEditView):
2257
2257
  f"Added {device_bay.installed_device} to {device_bay}.",
2258
2258
  )
2259
2259
 
2260
- return redirect("dcim:device", pk=device_bay.device.pk)
2260
+ return redirect("dcim:device_devicebays", pk=device_bay.device.pk)
2261
2261
 
2262
2262
  return render(
2263
2263
  request,
@@ -2300,7 +2300,7 @@ class DeviceBayDepopulateView(generic.ObjectEditView):
2300
2300
  f"Removed {removed_device} from {device_bay}.",
2301
2301
  )
2302
2302
 
2303
- return redirect("dcim:device", pk=device_bay.device.pk)
2303
+ return redirect("dcim:device_devicebays", pk=device_bay.device.pk)
2304
2304
 
2305
2305
  return render(
2306
2306
  request,
@@ -3464,26 +3464,6 @@
3464
3464
  Setting up your Remotes
3465
3465
  </a>
3466
3466
 
3467
- </li>
3468
-
3469
- <li class="md-nav__item">
3470
- <a href="#creating-a-branch" class="md-nav__link">
3471
- Creating a Branch
3472
- </a>
3473
-
3474
- <nav class="md-nav" aria-label="Creating a Branch">
3475
- <ul class="md-nav__list">
3476
-
3477
- <li class="md-nav__item">
3478
- <a href="#prototypes" class="md-nav__link">
3479
- Prototypes
3480
- </a>
3481
-
3482
- </li>
3483
-
3484
- </ul>
3485
- </nav>
3486
-
3487
3467
  </li>
3488
3468
 
3489
3469
  </ul>
@@ -3642,6 +3622,26 @@
3642
3622
  <nav class="md-nav" aria-label="Working in your Development Environment">
3643
3623
  <ul class="md-nav__list">
3644
3624
 
3625
+ <li class="md-nav__item">
3626
+ <a href="#creating-a-branch" class="md-nav__link">
3627
+ Creating a Branch
3628
+ </a>
3629
+
3630
+ <nav class="md-nav" aria-label="Creating a Branch">
3631
+ <ul class="md-nav__list">
3632
+
3633
+ <li class="md-nav__item">
3634
+ <a href="#prototypes" class="md-nav__link">
3635
+ Prototypes
3636
+ </a>
3637
+
3638
+ </li>
3639
+
3640
+ </ul>
3641
+ </nav>
3642
+
3643
+ </li>
3644
+
3645
3645
  <li class="md-nav__item">
3646
3646
  <a href="#creating-a-superuser" class="md-nav__link">
3647
3647
  Creating a Superuser
@@ -4411,26 +4411,6 @@
4411
4411
  Setting up your Remotes
4412
4412
  </a>
4413
4413
 
4414
- </li>
4415
-
4416
- <li class="md-nav__item">
4417
- <a href="#creating-a-branch" class="md-nav__link">
4418
- Creating a Branch
4419
- </a>
4420
-
4421
- <nav class="md-nav" aria-label="Creating a Branch">
4422
- <ul class="md-nav__list">
4423
-
4424
- <li class="md-nav__item">
4425
- <a href="#prototypes" class="md-nav__link">
4426
- Prototypes
4427
- </a>
4428
-
4429
- </li>
4430
-
4431
- </ul>
4432
- </nav>
4433
-
4434
4414
  </li>
4435
4415
 
4436
4416
  </ul>
@@ -4589,6 +4569,26 @@
4589
4569
  <nav class="md-nav" aria-label="Working in your Development Environment">
4590
4570
  <ul class="md-nav__list">
4591
4571
 
4572
+ <li class="md-nav__item">
4573
+ <a href="#creating-a-branch" class="md-nav__link">
4574
+ Creating a Branch
4575
+ </a>
4576
+
4577
+ <nav class="md-nav" aria-label="Creating a Branch">
4578
+ <ul class="md-nav__list">
4579
+
4580
+ <li class="md-nav__item">
4581
+ <a href="#prototypes" class="md-nav__link">
4582
+ Prototypes
4583
+ </a>
4584
+
4585
+ </li>
4586
+
4587
+ </ul>
4588
+ </nav>
4589
+
4590
+ </li>
4591
+
4592
4592
  <li class="md-nav__item">
4593
4593
  <a href="#creating-a-superuser" class="md-nav__link">
4594
4594
  Creating a Superuser
@@ -4844,24 +4844,6 @@
4844
4844
  <p class="admonition-title">Hint</p>
4845
4845
  <p>You will always <strong>push</strong> changes to <code>origin</code> (your fork) and <strong>pull</strong> changes from <code>upstream</code> (official repo).</p>
4846
4846
  </div>
4847
- <h3 id="creating-a-branch">Creating a Branch<a class="headerlink" href="#creating-a-branch" title="Permanent link">&para;</a></h3>
4848
- <p>Before you make any changes, always create a new branch. Again, for bug fixes and minor features, you'll want to create your branches from the <code>develop</code> branch, while for major new features, you'll branch from <code>next</code> instead.</p>
4849
- <p>Before you ever create a new branch, always checkout the appropriate branch and make sure you you've got the latest changes from <code>upstream</code>:</p>
4850
- <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>git checkout develop
4851
- <a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>git pull upstream develop
4852
- </code></pre></div>
4853
- <div class="admonition warning">
4854
- <p class="admonition-title">Warning</p>
4855
- <p>If you do not do this, you run the risk of having merge conflicts in your branch, and that's never fun to deal with. Trust us on this one.</p>
4856
- </div>
4857
- <p>Now that you've got the latest upstream changes, create your branch. Whether you're creating a branch off a fork or working against the Nautobot origin repo, you should follow this convention for naming your branch: <code>u/yourusername-0000-branch-summary</code>, where <code>0000</code> is the related GitHub issue number and <code>yourusername</code> is your GitHub username. For example:</p>
4858
- <div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a>git checkout -b u/yourusername-1234-next-amazing-feature
4859
- </code></pre></div>
4860
- <p>If you do not have a relevant GitHub issue, please consider opening one to document the context behind your changes.</p>
4861
- <h4 id="prototypes">Prototypes<a class="headerlink" href="#prototypes" title="Permanent link">&para;</a></h4>
4862
- <p>Sometimes code is written as a proof of concept or early implementation candidate but is not quite ready to be merged, or may be picked up by another author sometime in the future. In that case, the convention is to use the <code>prototype/</code> prefix to the branch name and not requiring the original authors username. In that scenario, using the example above, you would instead:</p>
4863
- <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>git checkout -b prototype/1234-next-amazing-feature
4864
- </code></pre></div>
4865
4847
  <h2 id="enabling-pre-commit-hooks">Enabling Pre-Commit Hooks<a class="headerlink" href="#enabling-pre-commit-hooks" title="Permanent link">&para;</a></h2>
4866
4848
  <p>Nautobot ships with a <a href="https://githooks.com/">Git pre-commit hook</a> script that automatically checks for style compliance and missing database migrations prior to committing changes. This helps avoid erroneous commits that result in CI test failures.</p>
4867
4849
  <div class="admonition note">
@@ -4869,15 +4851,15 @@
4869
4851
  <p>This pre-commit hook currently only supports the Python Virtual Environment Workflow.</p>
4870
4852
  </div>
4871
4853
  <p>You are encouraged to enable it by creating a link to <code>scripts/git-hooks/pre-commit</code>:</p>
4872
- <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>cd .git/hooks/
4873
- <a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a>ln -s ../../scripts/git-hooks/pre-commit
4854
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a>cd .git/hooks/
4855
+ <a id="__codelineno-9-2" name="__codelineno-9-2" href="#__codelineno-9-2"></a>ln -s ../../scripts/git-hooks/pre-commit
4874
4856
  </code></pre></div>
4875
4857
  <h2 id="setting-up-your-development-environment">Setting up your Development Environment<a class="headerlink" href="#setting-up-your-development-environment" title="Permanent link">&para;</a></h2>
4876
4858
  <p>Getting started with Nautobot development is pretty straightforward, and should feel very familiar to anyone with Django development experience. We can recommend either a <a href="#docker-compose-workflow">Docker Compose workflow</a> (if you don't want to install dependencies such as PostgreSQL and Redis directly onto your system) or a <a href="#python-virtual-environment-workflow">Python virtual environment workflow</a>.</p>
4877
4859
  <h3 id="windows-development">Windows Development<a class="headerlink" href="#windows-development" title="Permanent link">&para;</a></h3>
4878
4860
  <p>The Docker Compose development workflow on Windows Subsystem for Linux (WSL) has been tested successfully with <a href="https://docs.docker.com/desktop/windows/wsl/">Docker Desktop using the WSL2 backend</a> and the Ubuntu 20.04 WSL2 distribution. The Poetry workflow has also been tested successfully on the Ubuntu 20.04 WSL2 distribution.</p>
4879
4861
  <p>To install WSL2 and Ubuntu follow the instructions from the <a href="https://learn.microsoft.com/en-us/windows/wsl/install">WSL installation guide</a> or if running Windows 10 version 2004 and higher you can open an administrator Powershell terminal and enter the following command:</p>
4880
- <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="n">wsl</span> <span class="p">-</span><span class="n">-install</span>
4862
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="n">wsl</span> <span class="p">-</span><span class="n">-install</span>
4881
4863
  </code></pre></div>
4882
4864
  <p>This will install the WSL2 Ubuntu distribution. Reboot if prompted. After the image installs successfully you may install Docker Desktop with the WSL2 backend.</p>
4883
4865
  <h3 id="docker-compose-workflow">Docker Compose Workflow<a class="headerlink" href="#docker-compose-workflow" title="Permanent link">&para;</a></h3>
@@ -4889,63 +4871,66 @@
4889
4871
  </div>
4890
4872
  <h4 id="install-invoke">Install Invoke<a class="headerlink" href="#install-invoke" title="Permanent link">&para;</a></h4>
4891
4873
  <p>Because it is used to execute all common Docker workflow tasks, Invoke must be installed for your user environment. On most systems, if you're installing without root/superuser permissions, the default will install into your local user environment.</p>
4892
- <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>pip3 install invoke
4874
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a>pip3 install invoke
4893
4875
  </code></pre></div>
4894
4876
  <p>If you run into issues, you may also deliberately tell <code>pip3</code> to install into your user environment by adding the <code>--user</code> flag:</p>
4895
- <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>pip3 install --user invoke
4877
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a>pip3 install --user invoke
4896
4878
  </code></pre></div>
4897
4879
  <p>Please see the <a href="https://pip.pypa.io/en/stable/user_guide/#user-installs">official documentation on Pip user installs</a> for more information.</p>
4898
4880
  <h4 id="list-invoke-tasks">List Invoke Tasks<a class="headerlink" href="#list-invoke-tasks" title="Permanent link">&para;</a></h4>
4899
4881
  <p>Now that you have an <code>invoke</code> command, list the tasks defined in <code>tasks.py</code>:</p>
4900
- <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>invoke --list
4882
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>invoke --list
4901
4883
  </code></pre></div>
4902
4884
  <p>Example output:</p>
4903
- <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>Available tasks:
4904
- <a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a>
4905
- <a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a> black Check Python code style with Black.
4906
- <a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> build Build Nautobot docker image.
4907
- <a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a> build-and-check-docs Build docs for use within Nautobot.
4908
- <a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a> buildx Build Nautobot docker image using the experimental buildx docker functionality (multi-arch
4909
- <a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a> capablility).
4910
- <a id="__codelineno-17-8" name="__codelineno-17-8" href="#__codelineno-17-8"></a> check-migrations Check for missing migrations.
4911
- <a id="__codelineno-17-9" name="__codelineno-17-9" href="#__codelineno-17-9"></a> check-schema Render the REST API schema and check for problems.
4912
- <a id="__codelineno-17-10" name="__codelineno-17-10" href="#__codelineno-17-10"></a> cli Launch a bash shell inside the running Nautobot (or other) Docker container.
4913
- <a id="__codelineno-17-11" name="__codelineno-17-11" href="#__codelineno-17-11"></a> createsuperuser Create a new Nautobot superuser account (default: &quot;admin&quot;), will prompt for password.
4914
- <a id="__codelineno-17-12" name="__codelineno-17-12" href="#__codelineno-17-12"></a> debug Start Nautobot and its dependencies in debug mode.
4915
- <a id="__codelineno-17-13" name="__codelineno-17-13" href="#__codelineno-17-13"></a> destroy Destroy all containers and volumes.
4916
- <a id="__codelineno-17-14" name="__codelineno-17-14" href="#__codelineno-17-14"></a> docker-push Tags and pushes docker images to the appropriate repos, intended for release use only.
4917
- <a id="__codelineno-17-15" name="__codelineno-17-15" href="#__codelineno-17-15"></a> dumpdata Dump data from database to db_output file.
4918
- <a id="__codelineno-17-16" name="__codelineno-17-16" href="#__codelineno-17-16"></a> flake8 Check for PEP8 compliance and other style issues.
4919
- <a id="__codelineno-17-17" name="__codelineno-17-17" href="#__codelineno-17-17"></a> hadolint Check Dockerfile for hadolint compliance and other style issues.
4920
- <a id="__codelineno-17-18" name="__codelineno-17-18" href="#__codelineno-17-18"></a> integration-test Run Nautobot integration tests.
4921
- <a id="__codelineno-17-19" name="__codelineno-17-19" href="#__codelineno-17-19"></a> loaddata Load data from file.
4922
- <a id="__codelineno-17-20" name="__codelineno-17-20" href="#__codelineno-17-20"></a> makemigrations Perform makemigrations operation in Django.
4923
- <a id="__codelineno-17-21" name="__codelineno-17-21" href="#__codelineno-17-21"></a> markdownlint Lint Markdown files.
4924
- <a id="__codelineno-17-22" name="__codelineno-17-22" href="#__codelineno-17-22"></a> migrate Perform migrate operation in Django.
4925
- <a id="__codelineno-17-23" name="__codelineno-17-23" href="#__codelineno-17-23"></a> nbshell Launch an interactive nbshell session.
4926
- <a id="__codelineno-17-24" name="__codelineno-17-24" href="#__codelineno-17-24"></a> performance-test Run Nautobot performance specific unit tests.
4927
- <a id="__codelineno-17-25" name="__codelineno-17-25" href="#__codelineno-17-25"></a> post-upgrade Performs Nautobot common post-upgrade operations using a single entrypoint.
4928
- <a id="__codelineno-17-26" name="__codelineno-17-26" href="#__codelineno-17-26"></a> pylint Perform static analysis of Nautobot code.
4929
- <a id="__codelineno-17-27" name="__codelineno-17-27" href="#__codelineno-17-27"></a> restart Gracefully restart containers.
4930
- <a id="__codelineno-17-28" name="__codelineno-17-28" href="#__codelineno-17-28"></a> start Start Nautobot and its dependencies in detached mode.
4931
- <a id="__codelineno-17-29" name="__codelineno-17-29" href="#__codelineno-17-29"></a> stop Stop Nautobot and its dependencies.
4932
- <a id="__codelineno-17-30" name="__codelineno-17-30" href="#__codelineno-17-30"></a> tests Run all linters and unit tests.
4933
- <a id="__codelineno-17-31" name="__codelineno-17-31" href="#__codelineno-17-31"></a> unittest Run Nautobot unit tests.
4934
- <a id="__codelineno-17-32" name="__codelineno-17-32" href="#__codelineno-17-32"></a> unittest-coverage Report on code test coverage as measured by &#39;invoke unittest&#39;.
4935
- <a id="__codelineno-17-33" name="__codelineno-17-33" href="#__codelineno-17-33"></a> vscode Launch Visual Studio Code with the appropriate Environment variables to run in a container.
4885
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a>Available tasks:
4886
+ <a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a>
4887
+ <a id="__codelineno-14-3" name="__codelineno-14-3" href="#__codelineno-14-3"></a> black Check Python code style with Black.
4888
+ <a id="__codelineno-14-4" name="__codelineno-14-4" href="#__codelineno-14-4"></a> branch Switch to a different Git branch, creating it if requested.
4889
+ <a id="__codelineno-14-5" name="__codelineno-14-5" href="#__codelineno-14-5"></a> build Build Nautobot docker image.
4890
+ <a id="__codelineno-14-6" name="__codelineno-14-6" href="#__codelineno-14-6"></a> build-and-check-docs Build docs for use within Nautobot.
4891
+ <a id="__codelineno-14-7" name="__codelineno-14-7" href="#__codelineno-14-7"></a> buildx Build Nautobot docker image using the experimental buildx docker functionality (multi-arch
4892
+ <a id="__codelineno-14-8" name="__codelineno-14-8" href="#__codelineno-14-8"></a> capablility).
4893
+ <a id="__codelineno-14-9" name="__codelineno-14-9" href="#__codelineno-14-9"></a> check-migrations Check for missing migrations.
4894
+ <a id="__codelineno-14-10" name="__codelineno-14-10" href="#__codelineno-14-10"></a> check-schema Render the REST API schema and check for problems.
4895
+ <a id="__codelineno-14-11" name="__codelineno-14-11" href="#__codelineno-14-11"></a> cli Launch a bash shell inside the running Nautobot (or other) Docker container.
4896
+ <a id="__codelineno-14-12" name="__codelineno-14-12" href="#__codelineno-14-12"></a> createsuperuser Create a new Nautobot superuser account (default: &quot;admin&quot;), will prompt for password.
4897
+ <a id="__codelineno-14-13" name="__codelineno-14-13" href="#__codelineno-14-13"></a> debug Start Nautobot and its dependencies in debug mode.
4898
+ <a id="__codelineno-14-14" name="__codelineno-14-14" href="#__codelineno-14-14"></a> destroy Destroy all containers and volumes.
4899
+ <a id="__codelineno-14-15" name="__codelineno-14-15" href="#__codelineno-14-15"></a> docker-push Tags and pushes docker images to the appropriate repos, intended for release use only.
4900
+ <a id="__codelineno-14-16" name="__codelineno-14-16" href="#__codelineno-14-16"></a> dumpdata Dump data from database to db_output file.
4901
+ <a id="__codelineno-14-17" name="__codelineno-14-17" href="#__codelineno-14-17"></a> flake8 Check for PEP8 compliance and other style issues.
4902
+ <a id="__codelineno-14-18" name="__codelineno-14-18" href="#__codelineno-14-18"></a> hadolint Check Dockerfile for hadolint compliance and other style issues.
4903
+ <a id="__codelineno-14-19" name="__codelineno-14-19" href="#__codelineno-14-19"></a> integration-test Run Nautobot integration tests.
4904
+ <a id="__codelineno-14-20" name="__codelineno-14-20" href="#__codelineno-14-20"></a> loaddata Load data from file.
4905
+ <a id="__codelineno-14-21" name="__codelineno-14-21" href="#__codelineno-14-21"></a> makemigrations Perform makemigrations operation in Django.
4906
+ <a id="__codelineno-14-22" name="__codelineno-14-22" href="#__codelineno-14-22"></a> markdownlint Lint Markdown files.
4907
+ <a id="__codelineno-14-23" name="__codelineno-14-23" href="#__codelineno-14-23"></a> migrate Perform migrate operation in Django.
4908
+ <a id="__codelineno-14-24" name="__codelineno-14-24" href="#__codelineno-14-24"></a> nbshell Launch an interactive nbshell session.
4909
+ <a id="__codelineno-14-25" name="__codelineno-14-25" href="#__codelineno-14-25"></a> performance-test Run Nautobot performance specific unit tests.
4910
+ <a id="__codelineno-14-26" name="__codelineno-14-26" href="#__codelineno-14-26"></a> post-upgrade Performs Nautobot common post-upgrade operations using a single entrypoint.
4911
+ <a id="__codelineno-14-27" name="__codelineno-14-27" href="#__codelineno-14-27"></a> pylint Perform static analysis of Nautobot code.
4912
+ <a id="__codelineno-14-28" name="__codelineno-14-28" href="#__codelineno-14-28"></a> restart Gracefully restart containers.
4913
+ <a id="__codelineno-14-29" name="__codelineno-14-29" href="#__codelineno-14-29"></a> start Start Nautobot and its dependencies in detached mode.
4914
+ <a id="__codelineno-14-30" name="__codelineno-14-30" href="#__codelineno-14-30"></a> stop Stop Nautobot and its dependencies.
4915
+ <a id="__codelineno-14-31" name="__codelineno-14-31" href="#__codelineno-14-31"></a> tests Run all linters and unit tests.
4916
+ <a id="__codelineno-14-32" name="__codelineno-14-32" href="#__codelineno-14-32"></a> unittest Run Nautobot unit tests.
4917
+ <a id="__codelineno-14-33" name="__codelineno-14-33" href="#__codelineno-14-33"></a> unittest-coverage Report on code test coverage as measured by &#39;invoke unittest&#39;.
4918
+ <a id="__codelineno-14-34" name="__codelineno-14-34" href="#__codelineno-14-34"></a> vscode Launch Visual Studio Code with the appropriate Environment variables to run in a container.
4936
4919
  </code></pre></div>
4937
4920
  <h4 id="using-docker-with-invoke">Using Docker with Invoke<a class="headerlink" href="#using-docker-with-invoke" title="Permanent link">&para;</a></h4>
4938
4921
  <p>A development environment can be easily started up from the root of the project using the following commands:</p>
4939
4922
  <ul>
4940
- <li><code>invoke build</code> - Builds Nautobot docker images</li>
4923
+ <li><code>invoke branch</code> - Creates or switches to the appropriate Git branch</li>
4924
+ <li><code>invoke build</code> - Builds Nautobot docker images appropriate to the current Git branch</li>
4941
4925
  <li><code>invoke migrate</code> - Performs database migration operation in Django</li>
4942
4926
  <li><code>invoke createsuperuser</code> - Creates a superuser account for the Nautobot application</li>
4943
4927
  <li><code>invoke debug</code> - Starts Docker containers for Nautobot, PostgreSQL, Redis, Celery, and the RQ worker in debug mode and attaches their output to the terminal in the foreground. You may enter Control-C to stop the containers</li>
4944
4928
  </ul>
4945
4929
  <p>Additional useful commands for the development environment:</p>
4946
4930
  <ul>
4947
- <li><code>invoke start [-s servicename]</code> - Starts Docker containers for Nautobot, PostgreSQL, Redis, Celery, and the RQ worker (or a specific container/service, such as <code>invoke start -s redis</code>) to run in the background with debug disabled</li>
4948
- <li><code>invoke cli [-s servicename]</code> - Launch a <code>bash</code> shell inside the specified service container (if none is specified, defaults to the Nautobot container)</li>
4931
+ <li><code>invoke start [-s servicename]</code> - Starts Docker containers for Nautobot, PostgreSQL, Redis, Celery, and the RQ worker (or a specific container/service, such as <code>invoke start -s redis</code>) to run in the background</li>
4932
+ <li><code>invoke nbshell</code> - Launches a Nautobot Python shell inside the Nautobot container</li>
4933
+ <li><code>invoke cli [-s servicename]</code> - Launches a <code>bash</code> shell inside the specified service container (if none is specified, defaults to the Nautobot container)</li>
4949
4934
  <li><code>invoke stop [-s servicename]</code> - Stops all containers (or a specific container/service) created by <code>invoke start</code></li>
4950
4935
  </ul>
4951
4936
  <div class="admonition note">
@@ -4974,7 +4959,7 @@
4974
4959
  <h4 id="install-poetry">Install Poetry<a class="headerlink" href="#install-poetry" title="Permanent link">&para;</a></h4>
4975
4960
  <p><a href="https://python-poetry.org/docs/">Poetry</a> is a tool for dependency management and packaging in Python. It allows you to declare the libraries your project depends on and it will manage (install/update/remove) them for you. It will also manage virtual environments automatically, and allow for publishing packages to the <a href="https://pypi.org">Python Package Index</a>.</p>
4976
4961
  <p>You may install Poetry in your user environment by running:</p>
4977
- <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>curl -sSL https://install.python-poetry.org | python3 -
4962
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a>curl -sSL https://install.python-poetry.org | python3 -
4978
4963
  </code></pre></div>
4979
4964
  <div class="admonition version-changed">
4980
4965
  <p class="admonition-title">Changed in version 1.5.6</p>
@@ -4989,17 +4974,17 @@
4989
4974
  <p>For detailed installation instructions, please see the <a href="https://python-poetry.org/docs/#installation">official Poetry installation guide</a>.</p>
4990
4975
  <h4 id="install-hadolint">Install Hadolint<a class="headerlink" href="#install-hadolint" title="Permanent link">&para;</a></h4>
4991
4976
  <p><a href="https://github.com/hadolint/hadolint">Hadolint</a> is a tool used to validate and lint Dockerfiles to ensure we are following best practices. On macOS with <a href="https://brew.sh/">Homebrew</a> you can install Hadolint by running:</p>
4992
- <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>brew install hadolint
4977
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>brew install hadolint
4993
4978
  </code></pre></div>
4994
4979
  <h4 id="install-markdownlint-cli">Install markdownlint-cli<a class="headerlink" href="#install-markdownlint-cli" title="Permanent link">&para;</a></h4>
4995
4980
  <p><a href="https://github.com/igorshubovych/markdownlint-cli">markdownlint-cli</a> is a tool used to validate and lint Markdown files, such as Nautobot's documentation, to ensure that they are correctly constructed. On macOS with <a href="https://brew.sh/">Homebrew</a> you can install markdownlint-cli by running:</p>
4996
- <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>brew install markdownlint-cli
4981
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>brew install markdownlint-cli
4997
4982
  </code></pre></div>
4998
4983
  <h4 id="creating-a-python-virtual-environment">Creating a Python Virtual Environment<a class="headerlink" href="#creating-a-python-virtual-environment" title="Permanent link">&para;</a></h4>
4999
4984
  <p>A Python <a href="https://docs.python.org/3/tutorial/venv.html">virtual environment</a> (or <em>virtualenv</em>) is like a container for a set of Python packages. A virtualenv allow you to build environments suited to specific projects without interfering with system packages or other projects. When installed per the documentation, Nautobot uses a virtual environment in production.</p>
5000
4985
  <p>For Nautobot development, we have selected Poetry, which will transparently create a virtualenv for you, automatically install all dependencies required for Nautobot to operate, and will also install the <code>nautobot-server</code> CLI command that you will utilize to interact with Nautobot from here on out.</p>
5001
4986
  <p>Bootstrap your virtual environment using <code>poetry install</code>:</p>
5002
- <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>poetry install
4987
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>poetry install
5003
4988
  </code></pre></div>
5004
4989
  <div class="admonition hint">
5005
4990
  <p class="admonition-title">Hint</p>
@@ -5007,44 +4992,44 @@
5007
4992
  </div>
5008
4993
  <p>This will create automatically create a virtualenv in your home directory, which houses a virtual copy of the Python executable and its related libraries and tooling. When running Nautobot for development, it will be run using the Python binary at found within the virtualenv.</p>
5009
4994
  <p>Once created, you may activate the virtual environment using <code>poetry shell</code>:</p>
5010
- <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>poetry shell
4995
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>poetry shell
5011
4996
  </code></pre></div>
5012
4997
  <p>Example output:</p>
5013
- <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>Spawning shell within /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8
5014
- <a id="__codelineno-23-2" name="__codelineno-23-2" href="#__codelineno-23-2"></a>
5015
- <a id="__codelineno-23-3" name="__codelineno-23-3" href="#__codelineno-23-3"></a>. /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8/bin/activate
5016
- <a id="__codelineno-23-4" name="__codelineno-23-4" href="#__codelineno-23-4"></a>(nautobot-Ams_xyDt-py3.8) $
4998
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>Spawning shell within /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8
4999
+ <a id="__codelineno-20-2" name="__codelineno-20-2" href="#__codelineno-20-2"></a>
5000
+ <a id="__codelineno-20-3" name="__codelineno-20-3" href="#__codelineno-20-3"></a>. /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8/bin/activate
5001
+ <a id="__codelineno-20-4" name="__codelineno-20-4" href="#__codelineno-20-4"></a>(nautobot-Ams_xyDt-py3.8) $
5017
5002
  </code></pre></div>
5018
5003
  <p>Notice that the console prompt changes to indicate the active environment. This updates the necessary system environment variables to ensure that any Python scripts are run within the virtual environment.</p>
5019
5004
  <p>Observe also that the <code>python</code> interpreter is bound within the virtualenv:</p>
5020
- <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>which python
5005
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>which python
5021
5006
  </code></pre></div>
5022
5007
  <p>Example output:</p>
5023
- <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>(nautobot-Ams_xyDt-py3.8) $ /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8/bin/python
5008
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>(nautobot-Ams_xyDt-py3.8) $ /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8/bin/python
5024
5009
  </code></pre></div>
5025
5010
  <p>To exit the virtual shell, use <code>exit</code>:</p>
5026
- <div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>exit
5011
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>exit
5027
5012
  </code></pre></div>
5028
5013
  <p>Example output:</p>
5029
- <div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>$
5014
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>$
5030
5015
  </code></pre></div>
5031
5016
  <h4 id="working-with-poetry">Working with Poetry<a class="headerlink" href="#working-with-poetry" title="Permanent link">&para;</a></h4>
5032
5017
  <p>Poetry automatically installs your dependencies. However, if you need to install any additional dependencies this can be done with <code>pip</code>. For example, if you really like using <code>ipython</code> for development:</p>
5033
- <div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>pip3 install ipython
5018
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>pip3 install ipython
5034
5019
  </code></pre></div>
5035
5020
  <p>Example output:</p>
5036
- <div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>Collecting ipython
5037
- <a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a> Using cached ipython-7.20.0-py3-none-any.whl (784 kB)
5038
- <a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a> ...
5021
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>Collecting ipython
5022
+ <a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a> Using cached ipython-7.20.0-py3-none-any.whl (784 kB)
5023
+ <a id="__codelineno-26-3" name="__codelineno-26-3" href="#__codelineno-26-3"></a> ...
5039
5024
  </code></pre></div>
5040
5025
  <ul>
5041
5026
  <li>Install verify that you have the proper dependencies installed and are in the virtual environment via Poetry. This also ensures that you have the proper mkdocs themes installed.</li>
5042
5027
  </ul>
5043
- <div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>poetry<span class="w"> </span>shell
5044
- <a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a>poetry<span class="w"> </span>install
5028
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>poetry<span class="w"> </span>shell
5029
+ <a id="__codelineno-27-2" name="__codelineno-27-2" href="#__codelineno-27-2"></a>poetry<span class="w"> </span>install
5045
5030
  </code></pre></div>
5046
5031
  <p>It may not always be convenient to enter into the virtual shell just to run programs. You may also execute a given command ad hoc within the project's virtual shell by using <code>poetry run</code>:</p>
5047
- <div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>poetry run mkdocs serve
5032
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>poetry run mkdocs serve
5048
5033
  </code></pre></div>
5049
5034
  <p>Check out the <a href="https://python-poetry.org/docs/basic-usage/">Poetry usage guide</a> for more tips.</p>
5050
5035
  <h4 id="configuring-nautobot">Configuring Nautobot<a class="headerlink" href="#configuring-nautobot" title="Permanent link">&para;</a></h4>
@@ -5059,20 +5044,20 @@
5059
5044
  <p>Nautobot's configuration file is <code>nautobot_config.py</code>.</p>
5060
5045
  <h5 id="initializing-a-config">Initializing a Config<a class="headerlink" href="#initializing-a-config" title="Permanent link">&para;</a></h5>
5061
5046
  <p>You may also initialize a new configuration using <code>nautobot-server init</code>:</p>
5062
- <div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a>nautobot-server init
5047
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>nautobot-server init
5063
5048
  </code></pre></div>
5064
5049
  <p>Example output:</p>
5065
- <div class="highlight"><pre><span></span><code><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a>Nautobot would like to send anonymized installation metrics to the project&#39;s maintainers.
5066
- <a id="__codelineno-33-2" name="__codelineno-33-2" href="#__codelineno-33-2"></a>These metrics include the installed Nautobot version, the Python version in use, an anonymous &quot;deployment ID&quot;, and a list of one-way-hashed names of enabled Nautobot Apps and their versions.
5067
- <a id="__codelineno-33-3" name="__codelineno-33-3" href="#__codelineno-33-3"></a>Allow Nautobot to send these metrics? [y/n]: n
5068
- <a id="__codelineno-33-4" name="__codelineno-33-4" href="#__codelineno-33-4"></a>Installation metrics will not be sent by default.
5069
- <a id="__codelineno-33-5" name="__codelineno-33-5" href="#__codelineno-33-5"></a>Configuration file created at /home/example/.nautobot/nautobot_config.py
5050
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>Nautobot would like to send anonymized installation metrics to the project&#39;s maintainers.
5051
+ <a id="__codelineno-30-2" name="__codelineno-30-2" href="#__codelineno-30-2"></a>These metrics include the installed Nautobot version, the Python version in use, an anonymous &quot;deployment ID&quot;, and a list of one-way-hashed names of enabled Nautobot Apps and their versions.
5052
+ <a id="__codelineno-30-3" name="__codelineno-30-3" href="#__codelineno-30-3"></a>Allow Nautobot to send these metrics? [y/n]: n
5053
+ <a id="__codelineno-30-4" name="__codelineno-30-4" href="#__codelineno-30-4"></a>Installation metrics will not be sent by default.
5054
+ <a id="__codelineno-30-5" name="__codelineno-30-5" href="#__codelineno-30-5"></a>Configuration file created at /home/example/.nautobot/nautobot_config.py
5070
5055
  </code></pre></div>
5071
5056
  <p>You may also specify alternate file locations. Please refer to <a href="../configuration/index.html">Configuring Nautobot</a> for how to do that.</p>
5072
5057
  <h5 id="using-the-development-config">Using the Development Config<a class="headerlink" href="#using-the-development-config" title="Permanent link">&para;</a></h5>
5073
5058
  <p>A <code>nautobot_config.py</code> suitable for development purposes can be found at <code>development/nautobot_config.py</code>. You may customize the values there or utilize environment variables to override the default values.</p>
5074
5059
  <p>If you want to use this file, initialize a config first, then copy this file to the default location Nautobot expects to find its config:</p>
5075
- <div class="highlight"><pre><span></span><code><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a>cp development/nautobot_config.py ~/.nautobot/nautobot_config.py
5060
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>cp development/nautobot_config.py ~/.nautobot/nautobot_config.py
5076
5061
  </code></pre></div>
5077
5062
  <h5 id="required-settings">Required Settings<a class="headerlink" href="#required-settings" title="Permanent link">&para;</a></h5>
5078
5063
  <p>A newly created configuration includes sane defaults. If you need to customize them, edit your <code>nautobot_config.py</code> and update the following settings as required:</p>
@@ -5085,6 +5070,32 @@
5085
5070
  </ul>
5086
5071
  <h2 id="working-in-your-development-environment">Working in your Development Environment<a class="headerlink" href="#working-in-your-development-environment" title="Permanent link">&para;</a></h2>
5087
5072
  <p>Below are common commands for working your development environment.</p>
5073
+ <h3 id="creating-a-branch">Creating a Branch<a class="headerlink" href="#creating-a-branch" title="Permanent link">&para;</a></h3>
5074
+ <p>Before you make any changes, always create a new branch. Again, for bug fixes and minor features, you'll want to create your branches from the <code>develop</code> branch, while for major new features, you'll branch from <code>next</code> instead.</p>
5075
+ <p>In current versions of Nautobot, you can use the <code>invoke branch</code> command to create a new branch or switch to an existing branch. Whether you're creating a branch off a fork or working against the Nautobot origin repo, you should follow this convention for naming your branch: <code>u/yourusername-0000-branch-summary</code>, where <code>0000</code> is the related GitHub issue number and <code>yourusername</code> is your GitHub username. (If you do not have a relevant GitHub issue, please consider opening one to document the context behind your changes.)</p>
5076
+ <p>For example:</p>
5077
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a>invoke branch --create --branch u/yourusername-1234-some-bug-fix --parent develop
5078
+ </code></pre></div>
5079
+ <p>or:</p>
5080
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a>invoke branch --create --branch u/yourusername-1235-amazing-feature --parent next
5081
+ </code></pre></div>
5082
+ <div class="admonition caution">
5083
+ <p class="admonition-title">Caution</p>
5084
+ <p>We recommend using this Invoke command instead of directly calling <code>git checkout</code> or <code>git switch</code> because it automatically handles some other aspects of the development environment, in particular stopping the currently running Nautobot Docker containers, if any, before switching to a different branch.</p>
5085
+ </div>
5086
+ <div class="admonition tip">
5087
+ <p class="admonition-title">Tip</p>
5088
+ <p>You can switch between any existing branches with simply <code>invoke branch --branch &lt;name&gt;</code>.</p>
5089
+ </div>
5090
+ <div class="admonition tip">
5091
+ <p class="admonition-title">Nautobot branches and the Docker compose workflow</p>
5092
+ <p>It's common for the Python dependencies and database schema to differ between major and minor Nautobot releases, and therefore between the primary branches of <code>main</code>, <code>develop</code>, <code>next</code>, and <code>ltm-1.6</code>. To account for this, the Docker workflow automatically detects which <code>major.minor</code> Nautobot version you're working with and changes the Docker Compose project name accordingly. What this means for you in practice is that when first switching between Nautobot releases, you may need to rerun <code>invoke build</code> once for each primary branch, and <code>invoke start</code>/<code>invoke debug</code> may take some time as it needs to create a new database and migrate its schema. However, in the future, switching between releasese should be relatively smooth (just <code>invoke branch -b &lt;name&gt;</code> and then <code>invoke start</code>) rather than needing to rebuild the container and database every time you switch between <code>develop</code> and <code>next</code> as would likely be needed if the same Docker Compose project name were used for both release trains.</p>
5093
+ <p>Conversely, if you're using the virtual environment workflow, you may need to manually run <code>poetry install</code> whenever switching between major branches, and may need to manually drop and restore the database schema as well. Be aware!</p>
5094
+ </div>
5095
+ <h4 id="prototypes">Prototypes<a class="headerlink" href="#prototypes" title="Permanent link">&para;</a></h4>
5096
+ <p>Sometimes code is written as a proof of concept or early implementation candidate but is not quite ready to be merged, or may be picked up by another author sometime in the future. In that case, the convention is to use the <code>prototype/</code> prefix to the branch name and not requiring the original authors username. In that scenario, using the example above, you would instead:</p>
5097
+ <div class="highlight"><pre><span></span><code><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a>invoke branch --create --branch prototype/1234-next-amazing-feature --parent next
5098
+ </code></pre></div>
5088
5099
  <h3 id="creating-a-superuser">Creating a Superuser<a class="headerlink" href="#creating-a-superuser" title="Permanent link">&para;</a></h3>
5089
5100
  <p>You'll need to create a administrative superuser account to be able to log into the Nautobot Web UI for the first time. Specifying an email address for the user is not required, but be sure to use a very strong password.</p>
5090
5101
  <table>