nautobot 1.6.21__tar.gz → 1.6.23__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.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- {nautobot-1.6.21 → nautobot-1.6.23}/PKG-INFO +1 -1
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/settings.py +13 -3
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/base.html +8 -2
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/base.html +2 -2
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/graphene/graphiql.html +3 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/javascript.html +3 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/media.html +3 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/login.html +2 -2
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/nautobot_config.py.j2 +2 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_views.py +33 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/views.py +2 -2
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_api.py +23 -1
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_datasources.py +72 -2
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_dynamicgroups.py +1 -1
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_views.py +48 -4
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/utils.py +32 -15
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/views.py +4 -2
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/models.html +20 -20
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +2824 -2804
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/configuration/optional-settings.html +19 -5
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.6.html +305 -159
- nautobot-1.6.23/nautobot/project-static/docs/search/search_index.json +1 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/sitemap.xml +187 -187
- nautobot-1.6.23/nautobot/project-static/docs/sitemap.xml.gz +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/views.py +6 -1
- {nautobot-1.6.21 → nautobot-1.6.23}/pyproject.toml +2 -2
- nautobot-1.6.21/nautobot/project-static/docs/search/search_index.json +0 -1
- nautobot-1.6.21/nautobot/project-static/docs/sitemap.xml.gz +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/LICENSE.txt +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/NOTICE +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/README.md +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/admin.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/datasources.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/secrets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/testing.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/ui.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/apps/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/graphql/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/graphql/types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/homepage.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0001_initial_part_1.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0002_initial_part_2.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0003_auto_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0004_increase_provider_account_length.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0005_providernetwork.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0006_cache_circuit_terminations.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0007_circuitterminations_primary_model.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0008_add_natural_indexing.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/0009_circuittermination_location.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/navigation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/signals.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuit_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuit_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuit_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuit_terminations_swap.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuit_update.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittermination.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittermination_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittermination_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittermination_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittermination_update.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/circuittype_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/inc/circuit_termination.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/inc/speed_widget.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/provider.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/provider_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/provider_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/provider_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/provider_update.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/providernetwork.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/templates/circuits/providernetwork_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/integration/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/integration/test_relationships.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/test_urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/tests/test_views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/circuits/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/admin.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/authentication.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/exceptions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/filter_backends.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/metadata.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/pagination.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/renderers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/routers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/schema.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/versioning.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/apps/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/authentication.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/celery/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/celery/schedulers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/checks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/cli.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/context_processors.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/factory.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/fixtures/user-data.json +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/graphql/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/graphql/generators.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/graphql/schema.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/graphql/schema_init.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/graphql/types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/graphql/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/celery.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/generate_secret_key.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/generate_test_data.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/post_upgrade.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/pre_migrate.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/refresh_content_type_cache.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/send_installation_metrics.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/start.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/startplugin.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/management/commands/validate_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/middleware.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/models/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/models/generics.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/releases.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/runner/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/runner/importer.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/runner/runner.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/runner/settings.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/settings_funcs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/signals.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/403.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/403_csrf_failure.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/404.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/40x.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/500.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/actions.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/app_index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/base_site.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/bootstrapped_extra/app_name.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/change_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/change_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/change_list_results.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/config/config.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/delete_confirmation.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/edit_inline/stacked.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/edit_inline/tabular.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/includes/fieldset.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/login.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/nautobot_index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/prepopulated_fields_js.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/search_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/admin/submit_line.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/exceptions/import_error.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/exceptions/permission_error.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/exceptions/programming_error.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_add_component.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_destroy.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_import.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_remove.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_rename.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_bulk_update.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_changelog.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_destroy.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_detail.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_import.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_notes.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/generic/object_update.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/home.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/import_success.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/ajax_loader.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/computed_fields/panel_data.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/created_updated.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/custom_fields/panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/custom_fields/panel_data.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/custom_fields_panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/dynamic_groups_panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/extras_features_edit_form_fields.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/footer.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/image_attachments.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/modal.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/nav_menu.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/object_details_advanced_panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/paginator.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/relationships/panel_override.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/relationships_panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/relationships_table_rows.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/search_panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/inc/table.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/media_failure.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/modals/modal_theme.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/panel_table.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/__init__.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/migrations/__init__.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/models.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/navigation.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/tests/__init__.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/tests/test_models.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/tests/test_views.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/urls.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/plugin_template/views.py-tpl +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/responsive_table.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/rest_framework/api.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/search.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/search_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/swagger_ui.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/templates/swagger_ui.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_general_functionality.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_home.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_navbar.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_plugin_home.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_plugin_navbar.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_swagger.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_theme.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/integration/test_view_authentication.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/nautobot_config.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/performance_baselines.yml +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/runner.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_authentication.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_celery.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_checks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_cli.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_commands.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_graphql.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_releases.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_tree_queries.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/tests/test_utilities.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/utilities.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/views/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/views/generic.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/views/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/views/renderers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/views/routers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/views/viewsets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/core/wsgi.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/api/exceptions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/elevations.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/factory.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/filter_mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/filters/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/filters/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/form_mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/graphql/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/graphql/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/graphql/types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/homepage.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/lookups.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/management/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/management/commands/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/management/commands/populate_platform_network_driver.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/management/commands/trace_paths.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0001_initial_part_1.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0002_initial_part_2.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0003_initial_part_3.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0004_initial_part_4.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0005_device_local_context_schema.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0006_auto_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0007_device_secrets_group.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0008_increase_all_serial_lengths.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0009_add_natural_indexing.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0010_interface_status.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0011_interface_status_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0012_interface_parent_bridge.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0013_location_location_type.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0014_location_status_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0015_device_components__changeloggedmodel.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0016_device_components__timestamp_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0017_locationtype_nestable.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0018_device_redundancy_group.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0019_device_redundancy_group_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0020_increase_device_asset_tag_size_limit.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0021_platform_network_driver.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0022_interface_redundancy_group.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/0023_interface_redundancy_group_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/cables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/device_component_templates.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/device_components.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/devices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/locations.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/power.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/racks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/models/sites.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/navigation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/signals.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/cables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/devices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/devicetypes.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/locations.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/power.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/racks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/sites.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tables/template_code.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/bulk_disconnect.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/cable.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/cable_connect.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/cable_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/cable_trace.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/consoleport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/consoleport_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/consoleserverport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/consoleserverport_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/base.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/config.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/consoleports.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/consoleserverports.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/devicebays.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/frontports.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/interfaces.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/inventory.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/lldp_neighbors.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/poweroutlets.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/powerports.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/rearports.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device/status.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_component.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_component_add.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_component_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_import.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_import_child.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_interface_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/device_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicebay.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicebay_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicebay_depopulate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicebay_populate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/deviceredundancygroup_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/deviceredundancygroup_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicerole.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicetype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicetype_component_add.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/devicetype_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/frontport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/cable_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/cable_termination.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/cable_toggle_buttons.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/device_import_header.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/device_napalm_tabs.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/devicetype_component_table.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/homepage_connections.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/location_hierarchy.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inc/rack_elevation.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/interface.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/interface_bulk_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/interface_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/interface_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/interfaceredundancygroup_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/interfaceredundancygroupassociation_create.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inventoryitem.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inventoryitem_bulk_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/inventoryitem_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/location.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/location_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/locationtype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/manufacturer.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/platform.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/platform_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/powerfeed.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/powerfeed_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/poweroutlet.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/poweroutlet_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/powerpanel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/powerpanel_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/powerport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/powerport_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rack.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rack_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rack_elevation_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rackgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rackreservation.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rackreservation_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rackrole.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/rearport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/region.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/site.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/site_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/trace/cable.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/trace/circuit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/trace/device.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/trace/powerpanel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/trace/termination.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/virtualchassis.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/virtualchassis_add.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/virtualchassis_add_member.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/virtualchassis_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/templates/dcim/virtualchassis_remove_member.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/integration/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/integration/test_cable_connect_form.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_cablepaths.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_graphql.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_natural_ordering.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_signals.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/tests/test_views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/dcim/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/admin.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/customfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/relationships.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/context_managers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/datasources/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/datasources/git.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/datasources/registry.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/datasources/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/factory.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/filters/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/filters/customfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/filters/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/forms/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/forms/base.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/forms/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/forms/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/graphql/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/graphql/types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/health_checks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/homepage.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/jobs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/fix_custom_fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/nbshell.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/refresh_dynamic_group_member_caches.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/remove_stale_scheduled_jobs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/renaturalize.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/rqworker.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/runjob.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/management/commands/webhook_receiver.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0001_initial_part_1.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0002_initial_part_2.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0003_initial_part_3.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0004_populate_default_status_records.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0005_configcontext_device_types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0006_graphqlquery.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0007_configcontextschema.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0008_jobresult__custom_field_data.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0009_computedfield.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0010_change_cf_validation_max_min_field_to_bigint.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0011_fileattachment_fileproxy.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0012_healthchecktestmodel.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0013_default_fallback_value_computedfield.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0014_auto_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0015_scheduled_job.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0016_secret.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0017_joblogentry.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0018_joblog_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0019_joblogentry__meta_options__related_name.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0020_customfield_changelog.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0021_customfield_changelog_data.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0022_objectchange_object_datav2.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0023_job_model.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0024_job_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0025_add_advanced_ui_boolean_to_customfield_conputedfield_and_relationship.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0026_job_add_gitrepository_fk.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0027_job_gitrepository_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0028_job_reduce_source.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0029_dynamicgroup.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0030_webhook_alter_unique_together.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0031_tag_content_types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0032_tag_content_types_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0033_add__optimized_indexing.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0034_alter_fileattachment_mimetype.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0035_scheduledjob_crontab.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0036_job_add_has_sensitive_variables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0037_configcontextschema__remove_name_unique__create_constraint_unique_name_owner.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0038_configcontext_locations.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0039_objectchange__add_change_context.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0040_dynamicgroup__dynamicgroupmembership.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0041_jobresult_job_kwargs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0042_job__add_is_job_hook_receiver.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0043_note.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0044_add_job_hook.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0045_add_custom_field_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0046_populate_custom_field_slug_label.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0047_enforce_custom_field_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0048_alter_objectchange_change_context_detail.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0049_alter_tag_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0050_customfield_grouping.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0051_add_job_task_queues.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0052_configcontext_device_redundancy_groups.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0053_relationship_required_on.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0054_scheduledjob_kwargs_request_user_change.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0055_configcontext_dynamic_groups.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0056_objectchange_add_reverse_time_idx.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0057_jobbutton.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/0058_jobresult_add_time_status_idxs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/change_logging.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/customfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/datasources.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/groups.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/jobs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/relationships.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/secrets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/statuses.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/models/tags.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/navigation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/exceptions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/validators.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/plugins/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/querysets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/registry.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/reports.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/scripts.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/secrets/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/secrets/exceptions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/secrets/providers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/signals.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tasks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/django_ajax_tables/ajax_wrapper.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/computedfield.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/computedfield_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/configcontext.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/configcontext_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/configcontextschema.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/configcontextschema_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/configcontextschema_validation.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/customfield.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/customfield_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/customlink.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/dynamicgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/dynamicgroup_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/exporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/gitrepository.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/gitrepository_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/gitrepository_object_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/gitrepository_result.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/graphqlquery.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/job_label.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/job_table.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/jobresult.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/jobresult_js.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/json_data.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/json_format.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/overridable_field.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/panel_changelog.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/panel_jobhistory.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/secret_provider_parameters_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/inc/tags_panel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/job.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/job_approval_confirmation.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/job_approval_request.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/job_detail.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/job_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/job_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/jobbutton_retrieve.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/jobhook.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/jobresult.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/object_changelog.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/object_configcontext.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/object_dynamicgroups.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/object_notes.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/objectchange.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/objectchange_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/plugin_detail.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/plugins_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/relationship.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/relationship_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/scheduled_jobs_approval_queue_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/scheduledjob.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/secret.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/secret_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/secretsgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/secretsgroup_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/status.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/tag.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/tag_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/templatetags/log_level.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/templatetags/plugin_banners.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/templatetags/plugin_object_detail_tabs.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templates/extras/webhook.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/computed_fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/custom_links.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/job_buttons.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/log_levels.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/plugins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/templatetags/registry.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/api_test_job.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/script_variables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_fail.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_field_default.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_field_order.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_file_upload_fail.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_file_upload_pass.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_ipaddress_vars.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_job_button_receiver.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_job_hook_receiver.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_log_redaction.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_modify_db.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_no_field_order.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_object_var_optional.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_object_var_required.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_object_vars.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_pass.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_profiling.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_read_only_fail.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_read_only_no_commit_field.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_read_only_pass.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_required_args.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_site_with_custom_field.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_soft_time_limit_greater_than_time_limit.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_jobs/test_task_queues.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/example_plugin_dependency/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_computedfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_configcontextschema.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_customfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_dynamicgroups.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_jobs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_notes.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_plugin_banner.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_plugins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_relationships.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/integration/test_tagfilter.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_changelog.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_context_managers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_customfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_git.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_jobs.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_management.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_notes.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_plugins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_registry.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_relationships.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_scripts.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_tags.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_templatetags.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/tests/test_webhooks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/extras/webhooks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/generate_secret_key.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/factory.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/formfields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/graphql/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/graphql/types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/homepage.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/lookups.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0001_initial_part_1.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0002_initial_part_2.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0003_remove_max_length.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0004_fixup_p2p_broadcast.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0005_auto_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0006_ipaddress_nat_outside_list.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0007_add_natural_indexing.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0008_prefix_vlan_vlangroup_location.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/0009_alter_vlan_name.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/navigation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/querysets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/aggregate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/aggregate_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/aggregate_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/inc/ipadress_edit_header.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/inc/service.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/inc/toggle_available.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/inc/vlangroup_header.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/ipaddress.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/ipaddress_assign.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/ipaddress_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/prefix.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/prefix_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/prefix_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/prefix_ipaddresses.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/prefix_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/prefix_prefixes.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/rir.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/role.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/routetarget.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/service.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/service_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vlan.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vlan_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vlan_interfaces.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vlan_vminterfaces.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vlangroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vrf.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/templates/ipam/vrf_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/integration/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/integration/test_prefixes.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_graphql.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_ordering.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_querysets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/tests/test_views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/validators.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/ipam/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.eot +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.svg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/js/bootstrap.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/js/bootstrap.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/bootstrap-3.4.1-dist/js/npm.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/clipboard.js-2.0.9/clipboard.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/css/base.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/css/dark.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/css/rack_elevation.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/404.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/caching.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/change-logging.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/config-contexts.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/graphql.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/healthcheck.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/jobs.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/napalm.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/prometheus-metrics.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/additional-features/template-filters.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/administration/celery-queues.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/administration/nautobot-server.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/administration/nautobot-shell.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/administration/permissions.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/administration/replicating-nautobot.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/administration/request-profiling.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/apps/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/apps/nautobot-apps.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/_mkdocstrings.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-ChatOps.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-DeviceLifecycle.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-DeviceOnboarding.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-FirewallModels.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-GoldenConfiguration.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-NautobotPluginNornir.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/app-icons/icon-SSoT.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/extra.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/favicon.ico +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/images/favicon.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/bundle.220ee61c.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/bundle.220ee61c.min.js.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ar.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.da.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.de.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.du.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.es.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.fi.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.fr.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.hi.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.hu.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.hy.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.it.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ja.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.jp.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.kn.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ko.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.multi.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.nl.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.no.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.pt.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ro.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ru.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.sa.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.sv.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.ta.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.te.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.th.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.tr.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.vi.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/min/lunr.zh.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/tinyseg.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/lunr/wordcut.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/workers/search.74e28a9f.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/javascripts/workers/search.74e28a9f.min.js.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/nautobot_logo.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/nautobot_logo.svg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/networktocode_bw.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/overrides/partials/copyright.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/stylesheets/main.eebd395e.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/stylesheets/main.eebd395e.min.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/stylesheets/palette.ecc896b0.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/assets/stylesheets/palette.ecc896b0.min.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/api.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/code-reference/nautobot/apps/views.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/configuration/authentication/ldap.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/configuration/authentication/remote.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/configuration/authentication/sso.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/configuration/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/configuration/required-settings.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/circuits.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/device-types.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/devices.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/ipam.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/power.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/secrets.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/services.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/sites-and-racks.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/tenancy.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/virtualization.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/core-functionality/vlans.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/application-registry.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/best-practices.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/extending-models.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/generic-views.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/getting-started.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/homepage.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/navigation-menu.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/release-checklist.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/style-guide.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/templates.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/testing.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/development/user-preferences.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/docker/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/generate_code_reference_pages.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/img/edge_dev_circuit_relationship.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/img/leaf_dev_no_circuit_relationship.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/img/relationship_w_json_filter.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/centos.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/external-authentication.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/http-server.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/migrating-from-netbox.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/migrating-from-postgresql.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/nautobot.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/selinux-troubleshooting.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/services.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/ubuntu.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/installation/upgrading.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/admin_ui_run_permission.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/development/homepage_changelog_panel.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/development/homepage_dcim_panel.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/development/index_bug_wf.jpg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/development/index_feature_request_wf.jpg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/development/index_release_cadence.drawio +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/development/index_release_cadence.jpg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/installation/nautobot_ui_admin.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/installation/nautobot_ui_guest.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dcim_cable_trace.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dcim_cable_trace_circuit.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_filtering_01.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_01.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_02.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_03.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_04.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_1_05.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_01.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_02.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_03.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_04.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_05.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_06.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_advanced_2_07.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_01.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_02.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/dynamicgroup_workflow_basic_03.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/jobbutton_form.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/models/site_jobbuttons.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/nautobot_application_stack_high_level.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/nautobot_application_stack_low_level.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/plugins/plugin_admin_ui.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/plugins/plugin_rest_api_endpoint.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/power_distribution.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/ss_config_contexts.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/ss_graphiql.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/ss_main_page.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/ss_plugin_chatops.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/ss_plugin_golden_config.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/ss_prefix_hierarchy.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/user-guide/administration/guides/request-profiling/advanced-settings.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/media/user-guide/administration/guides/request-profiling/silk-ui.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/circuits/circuit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/circuits/circuittermination.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/circuits/circuittype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/circuits/provider.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/circuits/providernetwork.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/cable.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/consoleport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/consoleporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/consoleserverport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/device.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/devicebay.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/devicebaytemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/devicerole.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/devicetype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/frontport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/frontporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/interface.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/interfaceredundancygroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/interfacetemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/inventoryitem.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/location.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/locationtype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/manufacturer.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/platform.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/powerfeed.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/poweroutlet.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/powerpanel.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/powerport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/powerporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/rack.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/rackgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/rackreservation.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/rackrole.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/rearport.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/rearporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/region.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/site.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/dcim/virtualchassis.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/computedfield.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/configcontext.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/configcontextschema.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/customfield.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/customlink.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/dynamicgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/exporttemplate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/gitrepository.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/graphqlquery.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/imageattachment.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/job.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/jobbutton.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/jobhook.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/joblogentry.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/jobresult.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/note.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/relationship.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/secret.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/secretsgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/status.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/tag.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/extras/webhook.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/aggregate.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/ipaddress.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/prefix.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/rir.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/role.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/routetarget.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/service.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/vlan.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/vlangroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/ipam/vrf.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/tenancy/tenant.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/tenancy/tenantgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/users/objectpermission.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/users/token.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/virtualization/cluster.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/virtualization/clustergroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/virtualization/clustertype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/virtualization/virtualmachine.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/models/virtualization/vminterface.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/nautobot_logo.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/nautobot_logo.svg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/objects.inv +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/plugins/development.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/plugins/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/plugins/porting-from-netbox.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.0.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.1.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.2.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.3.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.4.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/release-notes/version-1.5.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/requirements.txt +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/rest-api/authentication.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/rest-api/filtering.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/rest-api/overview.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/custom-fields.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/index.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/interfaces.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/ipam.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/platforms.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/regions.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/search-bar.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/tenants.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/git-data-source.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/graphql.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_choices.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_detail_grouped.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_detail_label.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_edit.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/custom-fields/custom_field_select.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/1-create-site.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/10-add-platform.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/11-platforms-page.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/12-add-tenant.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/13-assign-tenant-to-device.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/14-assign-tenant-to-device-2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/15-create-device-type.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/16-interface-templates.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/17-templated-interfaces.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/18-assign-device-type.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/19-edit-ints-for-lag.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/2-create-manufacturer.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/20-ints-int-lag.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/21-device-type.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/22-create-vlans.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/23-create-vlans-2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/24-vlan-main-page.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/25-add-vlan-to-interface.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/26-add-vlan-to-interface-2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/27-add-rir.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/28-add-aggregate.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/29-view-aggregates.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/3-create-role.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/30-add-prefix.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/31-view-aggregates-again.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/32-add-ip-addr.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/33-assign-address.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/34-assign-address-2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/35-assign-address-3.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/36-verify-address.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/37-verify-prefix.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/38-verify-prefix2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/39-address-search.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/4-create-device-type.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/40-addr-main-page.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/41-device-search-results.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/42-address-search-v2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/43-get-to-device-main-page.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/44-add-platform.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/5-create-device.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/6-create-region.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/7-region-page.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/8-add-site-to-region.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/getting-started-nautobot-ui/9-add-site-to-region-step-2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/01-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/02-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/03-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/04-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/05-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/06-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/07-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/08-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/09-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/10-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/11-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/12-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/13-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/14-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/15-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/16-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/17-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/git-as-data-source/18-git-data-source.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/00-graphiql.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/01-graphiql-explorer.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/02-graphiql-explorer-device-query.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/03-graphiql-explorer-device-attributes.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/04-graphql-query-01.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/05-graphiql-autocomplete.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/06-graphql-query-02.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/07-graphql-query-03.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/08-graphql-query-04.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/09-graphql-query-05.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/10-graphql-swagger.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/graphql/11-graphql-query-06.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/01-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/02-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/03-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/04-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/05-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/06-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/07-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/08-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/09-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/10-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/relationships/11-relationships.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/s3-storage/user-guide-s3-1.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/images/s3-storage/user-guide-s3-2.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/relationships.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/docs/user-guides/s3-django-storage.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/flatpickr-4.6.9/flatpickr.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/flatpickr-4.6.9/themes/light.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/graphiql-1.5.16/graphiql.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/graphiql-1.5.16/graphiql.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/ajax-loader.gif +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/dark-theme.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/favicon.ico +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/light-theme.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon.svg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_16x16.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_180x180.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_192x192.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_270x270.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_32x32.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_384x384.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_icon_monochrome.svg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_logo.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/nautobot_logo.svg +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/system-theme.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/img/tint_20.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery/jquery-3.7.1.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery/jquery.formset.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_444444_256x240.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_555555_256x240.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_777620_256x240.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_777777_256x240.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_cc0000_256x240.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/images/ui-icons_ffffff_256x240.png +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.structure.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/jquery-ui-1.13.2/jquery-ui.theme.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/cabletrace.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/connection_toggles.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/forms.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/interface_filtering.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/job_result.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/log_level_filtering.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/rack_elevations.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/tableconfig.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/js/theme.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/.github/ISSUE_TEMPLATE.md +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/LICENSE +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/README.md +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/css/materialdesignicons.min.css.map +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.eot +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.ttf +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/fonts/materialdesignicons-webfont.woff2 +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/package.json +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/preview.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_animated.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_core.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_extras.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_functions.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_icons.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_path.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/_variables.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/materialdesignicons-6.5.95/scss/materialdesignicons.scss +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/react-16.14.0/react.production.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/react-dom-16.14.0/react-dom.production.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/af.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ar.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/az.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/bg.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/bn.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/bs.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ca.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/cs.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/da.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/de.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/dsb.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/el.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/en.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/es.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/et.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/eu.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/fa.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/fi.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/fr.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/gl.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/he.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/hi.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/hr.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/hsb.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/hu.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/hy.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/id.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/is.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/it.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ja.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ka.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/km.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ko.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/lt.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/lv.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/mk.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ms.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/nb.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ne.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/nl.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/pl.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ps.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/pt-BR.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/pt.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ro.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/ru.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/sk.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/sl.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/sq.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/sr-Cyrl.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/sr.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/sv.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/th.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/tk.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/tr.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/uk.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/vi.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/zh-CN.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/i18n/zh-TW.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/select2.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-4.0.13/select2.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/select2-bootstrap-0.1.0-beta.10/select2-bootstrap.min.css +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/subscriptions-transport-ws-0.9.18/client.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/project-static/whatwg-fetch-3.6.2/fetch.umd.min.js +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/factory.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/filters/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/filters/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/homepage.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/migrations/0001_initial.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/migrations/0002_auto_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/navigation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/templates/tenancy/tenant.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/templates/tenancy/tenant_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/templates/tenancy/tenantgroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/tests/test_views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/tenancy/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/admin.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/migrations/0001_initial.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/migrations/0002_token_ordering_by_created.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/advanced_settings_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/api_tokens.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/base.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/change_password.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/preferences.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/profile.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/templates/users/sessionkey_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/tests/test_views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/users/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/checks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/config.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/deprecation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/error_handlers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/exceptions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/factory.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/forms/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/forms/constants.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/forms/fields.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/forms/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/forms/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/forms/widgets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/git.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/logging.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/management/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/management/commands/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/management/commands/makemigrations.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/management/commands/migrate.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/mptt.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/ordering.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/paginator.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/permissions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/query_functions.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/querysets.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tasks.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/buttons/add.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/buttons/clone.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/buttons/delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/buttons/edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/buttons/export.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/buttons/import.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/confirmation_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/obj_table.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/render_boolean.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/render_custom_fields.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/render_field.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/render_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/render_relationships.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/templatetags/badge.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/templatetags/filter_form_modal.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/templatetags/modal_form_as_dialog.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/templatetags/table_config_form.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/templatetags/tag.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/utilities/templatetags/utilization_graph.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/widgets/colorselect_option.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/widgets/select_contenttype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/widgets/select_option_with_pk.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/widgets/selectwithdisabled_option.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templates/widgets/sluginput.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/bootstrapped_goodies_tags.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/buttons.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/form_helpers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/helpers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/netutils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/templatetags/perms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/integration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/mixins.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/testing/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_config.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_jinja_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_logging.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_managers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_ordering.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_paginator.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_templatetags_helpers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_templatetags_netutils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tests/test_utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/tree_queries.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/utils.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/validators.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/utilities/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/api/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/api/nested_serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/api/serializers.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/api/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/api/views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/apps.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/choices.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/forms.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/graphql/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/graphql/types.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/homepage.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0001_initial.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0002_virtualmachine_local_context_schema.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0003_vminterface_verbose_name.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0004_auto_slug.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0005_add_natural_indexing.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0006_vminterface_status.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0007_vminterface_status_data_migration.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0008_vminterface_parent.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/0009_cluster_location.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/migrations/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/navigation.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/signals.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/tables.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/cluster.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/cluster_add_devices.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/cluster_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/clustergroup.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/clustertype.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/virtual_machine_vminterface_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/virtualmachine.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/virtualmachine_component_add.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/virtualmachine_list.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/vminterface.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/vminterface_bulk_delete.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/templates/virtualization/vminterface_edit.html +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/tests/__init__.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/tests/test_api.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/tests/test_filters.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/tests/test_models.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/tests/test_views.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/urls.py +0 -0
- {nautobot-1.6.21 → nautobot-1.6.23}/nautobot/virtualization/views.py +0 -0
|
@@ -59,6 +59,14 @@ ALLOWED_URL_SCHEMES = (
|
|
|
59
59
|
"xmpp",
|
|
60
60
|
)
|
|
61
61
|
|
|
62
|
+
# Banners to display to users. Markdown and limited HTML are allowed.
|
|
63
|
+
if "NAUTOBOT_BANNER_BOTTOM" in os.environ and os.environ["NAUTOBOT_BANNER_BOTTOM"] != "":
|
|
64
|
+
BANNER_BOTTOM = os.environ["NAUTOBOT_BANNER_BOTTOM"]
|
|
65
|
+
if "NAUTOBOT_BANNER_LOGIN" in os.environ and os.environ["NAUTOBOT_BANNER_LOGIN"] != "":
|
|
66
|
+
BANNER_LOGIN = os.environ["NAUTOBOT_BANNER_LOGIN"]
|
|
67
|
+
if "NAUTOBOT_BANNER_TOP" in os.environ and os.environ["NAUTOBOT_BANNER_TOP"] != "":
|
|
68
|
+
BANNER_TOP = os.environ["NAUTOBOT_BANNER_TOP"]
|
|
69
|
+
|
|
62
70
|
# Base directory wherein all created files (jobs, git repositories, file uploads, static files) will be stored)
|
|
63
71
|
NAUTOBOT_ROOT = os.getenv("NAUTOBOT_ROOT", os.path.expanduser("~/.nautobot"))
|
|
64
72
|
|
|
@@ -586,15 +594,15 @@ CONSTANCE_CONFIG = {
|
|
|
586
594
|
],
|
|
587
595
|
"BANNER_BOTTOM": [
|
|
588
596
|
"",
|
|
589
|
-
"Custom HTML to display in a banner at the bottom of all pages.",
|
|
597
|
+
"Custom Markdown or limited HTML to display in a banner at the bottom of all pages.",
|
|
590
598
|
],
|
|
591
599
|
"BANNER_LOGIN": [
|
|
592
600
|
"",
|
|
593
|
-
"Custom HTML to display in a banner at the top of the login page.",
|
|
601
|
+
"Custom Markdown or limited HTML to display in a banner at the top of the login page.",
|
|
594
602
|
],
|
|
595
603
|
"BANNER_TOP": [
|
|
596
604
|
"",
|
|
597
|
-
"Custom HTML to display in a banner at the top of all pages.",
|
|
605
|
+
"Custom Markdown or limited HTML to display in a banner at the top of all pages.",
|
|
598
606
|
],
|
|
599
607
|
"CHANGELOG_RETENTION": [
|
|
600
608
|
90,
|
|
@@ -869,6 +877,8 @@ BRANDING_FILEPATHS = {
|
|
|
869
877
|
"icon_mask": os.getenv(
|
|
870
878
|
"NAUTOBOT_BRANDING_FILEPATHS_ICON_MASK", None
|
|
871
879
|
), # mono-chrome icon used for the mask-icon header
|
|
880
|
+
"css": os.getenv("NAUTOBOT_BRANDING_FILEPATHS_CSS", None), # Custom global CSS
|
|
881
|
+
"javascript": os.getenv("NAUTOBOT_BRANDING_FILEPATHS_JAVASCRIPT", None), # Custom global JavaScript
|
|
872
882
|
}
|
|
873
883
|
|
|
874
884
|
# Title to use in place of "Nautobot"
|
|
@@ -32,6 +32,9 @@
|
|
|
32
32
|
<link rel="stylesheet" id="base-theme"
|
|
33
33
|
href="{% static 'css/base.css' %}?v{{ settings.VERSION }}"
|
|
34
34
|
onerror="window.location='{% url 'media_failure' %}?filename=css/base.css'">
|
|
35
|
+
{% if settings.BRANDING_FILEPATHS.css %}
|
|
36
|
+
<link rel="stylesheet" id="custom-css" href="{% custom_branding_or_static 'css' None %}">
|
|
37
|
+
{% endif %}
|
|
35
38
|
<link rel="apple-touch-icon" sizes="180x180" href="{% static 'img/nautobot_icon_180x180.png' %}">
|
|
36
39
|
<link rel="icon" type="image/png" sizes="32x32" href="{% static 'img/nautobot_icon_32x32.png' %}">
|
|
37
40
|
<link rel="icon" type="image/png" sizes="16x16" href="{% static 'img/nautobot_icon_16x16.png' %}">
|
|
@@ -101,7 +104,7 @@
|
|
|
101
104
|
<div class="container-fluid wrapper" {% if is_popup %}style="padding-bottom: 0px;"{% endif %}>
|
|
102
105
|
{% if "BANNER_TOP"|settings_or_config %}
|
|
103
106
|
<div class="alert alert-info text-center" role="alert">
|
|
104
|
-
{{ "BANNER_TOP"|settings_or_config|
|
|
107
|
+
{{ "BANNER_TOP"|settings_or_config|render_markdown }}
|
|
105
108
|
</div>
|
|
106
109
|
{% endif %}
|
|
107
110
|
{% if settings.MAINTENANCE_MODE %}
|
|
@@ -153,7 +156,7 @@
|
|
|
153
156
|
<div class="push"></div>
|
|
154
157
|
{% if "BANNER_BOTTOM"|settings_or_config %}
|
|
155
158
|
<div class="alert alert-info text-center banner-bottom" role="alert">
|
|
156
|
-
{{ "BANNER_BOTTOM"|settings_or_config|
|
|
159
|
+
{{ "BANNER_BOTTOM"|settings_or_config|render_markdown }}
|
|
157
160
|
</div>
|
|
158
161
|
{% endif %}
|
|
159
162
|
</div>
|
|
@@ -189,6 +192,9 @@
|
|
|
189
192
|
{% endif %}
|
|
190
193
|
{% include 'modals/modal_theme.html' with name='theme'%}
|
|
191
194
|
<script src="{% static 'js/theme.js' %}"></script>
|
|
195
|
+
{% if settings.BRANDING_FILEPATHS.javascript %}
|
|
196
|
+
<script src="{% custom_branding_or_static 'javascript' None %}"></script>
|
|
197
|
+
{% endif %}
|
|
192
198
|
{% block javascript %}{% endblock %}
|
|
193
199
|
</body>
|
|
194
200
|
</html>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
{% if request.user.is_authenticated or not "HIDE_RESTRICTED_UI"|settings_or_config %}
|
|
16
16
|
{% if "BANNER_TOP"|settings_or_config %}
|
|
17
17
|
<div class="alert alert-info text-center" role="alert">
|
|
18
|
-
{{ "BANNER_TOP"|settings_or_config|
|
|
18
|
+
{{ "BANNER_TOP"|settings_or_config|render_markdown }}
|
|
19
19
|
</div>
|
|
20
20
|
{% endif %}
|
|
21
21
|
{% endif %}
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
{% if request.user.is_authenticated or not "HIDE_RESTRICTED_UI"|settings_or_config %}
|
|
41
41
|
{% if "BANNER_BOTTOM"|settings_or_config %}
|
|
42
42
|
<div class="alert alert-info text-center banner-bottom" role="alert">
|
|
43
|
-
{{ "BANNER_BOTTOM"|settings_or_config|
|
|
43
|
+
{{ "BANNER_BOTTOM"|settings_or_config|render_markdown }}
|
|
44
44
|
</div>
|
|
45
45
|
{% endif %}
|
|
46
46
|
{% endif %}
|
|
@@ -36,6 +36,9 @@ add "&raw" to the end of the URL within a browser.
|
|
|
36
36
|
<link rel="stylesheet"
|
|
37
37
|
href="{% static 'css/base.css' %}?v{{ settings.VERSION }}"
|
|
38
38
|
onerror="window.location='{% url 'media_failure' %}?filename=css/base.css'">
|
|
39
|
+
{% if settings.BRANDING_FILEPATHS.css %}
|
|
40
|
+
<link rel="stylesheet" id="custom-css" href="{% custom_branding_or_static 'css' None %}">
|
|
41
|
+
{% endif %}
|
|
39
42
|
<link rel="apple-touch-icon" sizes="180x180" href="{% custom_branding_or_static 'icon_180' 'img/nautobot_icon_180x180.png' %}">
|
|
40
43
|
<link rel="icon" type="image/png" sizes="32x32" href="{% custom_branding_or_static 'icon_32' 'img/nautobot_icon_32x32.png' %}">
|
|
41
44
|
<link rel="icon" type="image/png" sizes="16x16" href="{% custom_branding_or_static 'icon_16' 'img/nautobot_icon_16x16.png' %}">
|
|
@@ -26,6 +26,9 @@
|
|
|
26
26
|
<link rel="stylesheet" id="base-theme"
|
|
27
27
|
href="{% static 'css/base.css' %}?v{{ settings.VERSION }}"
|
|
28
28
|
onerror="window.location='{% url 'media_failure' %}?filename=css/base.css'">
|
|
29
|
+
{% if settings.BRANDING_FILEPATHS.css %}
|
|
30
|
+
<link rel="stylesheet" id="custom-css" href="{% custom_branding_or_static 'css' None %}">
|
|
31
|
+
{% endif %}
|
|
29
32
|
<link rel="apple-touch-icon" sizes="180x180" href="{% custom_branding_or_static 'icon_180' 'img/nautobot_icon_180x180.png' %}">
|
|
30
33
|
<link rel="icon" type="image/png" sizes="32x32" href="{% custom_branding_or_static 'icon_32' 'img/nautobot_icon_32x32.png' %}">
|
|
31
34
|
<link rel="icon" type="image/png" sizes="16x16" href="{% custom_branding_or_static 'icon_16' 'img/nautobot_icon_16x16.png' %}">
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
<div class="row" style="margin-top: {% if 'BANNER_LOGIN'|settings_or_config %}100{% else %}150{% endif %}px;">
|
|
54
54
|
<div class="col-sm-4 col-sm-offset-4">
|
|
55
55
|
{% if "BANNER_LOGIN"|settings_or_config %}
|
|
56
|
-
<div
|
|
57
|
-
{{ "BANNER_LOGIN"|settings_or_config|
|
|
56
|
+
<div class="alert alert-info text-center" role="alert">
|
|
57
|
+
{{ "BANNER_LOGIN"|settings_or_config|render_markdown }}
|
|
58
58
|
</div>
|
|
59
59
|
{% endif %}
|
|
60
60
|
{% if form.non_field_errors %}
|
|
@@ -263,6 +263,8 @@ SECRET_KEY = os.getenv("NAUTOBOT_SECRET_KEY", "{{ secret_key }}")
|
|
|
263
263
|
# "icon_mask": os.getenv(
|
|
264
264
|
# "NAUTOBOT_BRANDING_FILEPATHS_ICON_MASK", None
|
|
265
265
|
# ), # mono-chrome icon used for the mask-icon header
|
|
266
|
+
# "css": os.getenv("NAUTOBOT_BRANDING_FILEPATHS_CSS", None), # Custom global CSS
|
|
267
|
+
# "javascript": os.getenv("NAUTOBOT_BRANDING_FILEPATHS_JAVASCRIPT", None), # Custom global JavaScript
|
|
266
268
|
# }
|
|
267
269
|
|
|
268
270
|
# Prepended to CSV, YAML and export template filenames (i.e. `nautobot_device.yml`)
|
|
@@ -99,6 +99,39 @@ class HomeViewTestCase(TestCase):
|
|
|
99
99
|
response_content = response.content.decode(response.charset).replace("\n", "")
|
|
100
100
|
self.assertNotRegex(response_content, footer_hostname_version_pattern)
|
|
101
101
|
|
|
102
|
+
def test_banners_markdown(self):
|
|
103
|
+
url = reverse("home")
|
|
104
|
+
with override_settings(
|
|
105
|
+
BANNER_TOP="# Hello world",
|
|
106
|
+
BANNER_BOTTOM="[info](https://nautobot.com)",
|
|
107
|
+
):
|
|
108
|
+
response = self.client.get(url)
|
|
109
|
+
self.assertInHTML("<h1>Hello world</h1>", response.content.decode(response.charset))
|
|
110
|
+
self.assertInHTML(
|
|
111
|
+
'<a href="https://nautobot.com" rel="noopener noreferrer">info</a>',
|
|
112
|
+
response.content.decode(response.charset),
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
with override_settings(BANNER_LOGIN="_Welcome to Nautobot!_"):
|
|
116
|
+
self.client.logout()
|
|
117
|
+
response = self.client.get(reverse("login"))
|
|
118
|
+
self.assertInHTML("<em>Welcome to Nautobot!</em>", response.content.decode(response.charset))
|
|
119
|
+
|
|
120
|
+
def test_banners_no_xss(self):
|
|
121
|
+
url = reverse("home")
|
|
122
|
+
with override_settings(
|
|
123
|
+
BANNER_TOP='<script>alert("Hello from above!");</script>',
|
|
124
|
+
BANNER_BOTTOM='<script>alert("Hello from below!");</script>',
|
|
125
|
+
):
|
|
126
|
+
response = self.client.get(url)
|
|
127
|
+
self.assertNotIn("Hello from above", response.content.decode(response.charset))
|
|
128
|
+
self.assertNotIn("Hello from below", response.content.decode(response.charset))
|
|
129
|
+
|
|
130
|
+
with override_settings(BANNER_LOGIN='<script>alert("Welcome to Nautobot!");</script>'):
|
|
131
|
+
self.client.logout()
|
|
132
|
+
response = self.client.get(reverse("login"))
|
|
133
|
+
self.assertNotIn("Welcome to Nautobot!", response.content.decode(response.charset))
|
|
134
|
+
|
|
102
135
|
|
|
103
136
|
@override_settings(BRANDING_TITLE="Nautobot")
|
|
104
137
|
class SearchFieldsTestCase(TestCase):
|
|
@@ -330,13 +330,13 @@ class DynamicGroupViewSet(ModelViewSet, NotesViewSetMixin):
|
|
|
330
330
|
# @extend_schema(methods=["get"], responses={200: member_response})
|
|
331
331
|
@action(detail=True, methods=["get"])
|
|
332
332
|
def members(self, request, pk, *args, **kwargs):
|
|
333
|
-
"""List member objects of
|
|
333
|
+
"""List the member objects of this dynamic group."""
|
|
334
334
|
instance = get_object_or_404(self.queryset, pk=pk)
|
|
335
335
|
|
|
336
336
|
# Retrieve the serializer for the content_type and paginate the results
|
|
337
337
|
member_model_class = instance.content_type.model_class()
|
|
338
338
|
member_serializer_class = get_serializer_for_model(member_model_class)
|
|
339
|
-
members = self.paginate_queryset(instance.members)
|
|
339
|
+
members = self.paginate_queryset(instance.members.restrict(request.user, "view"))
|
|
340
340
|
member_serializer = member_serializer_class(members, many=True, context={"request": request})
|
|
341
341
|
return self.get_paginated_response(member_serializer.data)
|
|
342
342
|
|
|
@@ -69,6 +69,7 @@ from nautobot.ipam.factory import VLANFactory
|
|
|
69
69
|
from nautobot.ipam.models import VLAN, VLANGroup
|
|
70
70
|
from nautobot.users.models import ObjectPermission
|
|
71
71
|
from nautobot.utilities.choices import ColorChoices
|
|
72
|
+
from nautobot.utilities.permissions import get_permission_for_model
|
|
72
73
|
from nautobot.utilities.testing import APITestCase, APIViewTestCases
|
|
73
74
|
from nautobot.utilities.testing.utils import disable_warnings
|
|
74
75
|
from nautobot.utilities.utils import get_route_for_model, slugify_dashes_to_underscores
|
|
@@ -752,13 +753,34 @@ class DynamicGroupTest(DynamicGroupTestMixin, APIViewTestCases.APIViewTestCase):
|
|
|
752
753
|
def test_get_members(self):
|
|
753
754
|
"""Test that the `/members/` API endpoint returns what is expected."""
|
|
754
755
|
self.add_permissions("extras.view_dynamicgroup")
|
|
755
|
-
instance =
|
|
756
|
+
instance = self.groups[0]
|
|
757
|
+
self.add_permissions(get_permission_for_model(instance.content_type.model_class(), "view"))
|
|
756
758
|
member_count = instance.members.count()
|
|
757
759
|
url = reverse("extras-api:dynamicgroup-members", kwargs={"pk": instance.pk})
|
|
758
760
|
response = self.client.get(url, **self.header)
|
|
759
761
|
self.assertHttpStatus(response, status.HTTP_200_OK)
|
|
760
762
|
self.assertEqual(member_count, len(response.json()["results"]))
|
|
761
763
|
|
|
764
|
+
def test_get_members_with_constrained_permission(self):
|
|
765
|
+
"""Test that the `/members/` API endpoint enforces permissions on the member model."""
|
|
766
|
+
self.add_permissions("extras.view_dynamicgroup")
|
|
767
|
+
instance = self.groups[0]
|
|
768
|
+
obj1 = instance.members.first()
|
|
769
|
+
obj_perm = ObjectPermission(
|
|
770
|
+
name="Test permission",
|
|
771
|
+
constraints={"pk__in": [obj1.pk]},
|
|
772
|
+
actions=["view"],
|
|
773
|
+
)
|
|
774
|
+
obj_perm.save()
|
|
775
|
+
obj_perm.users.add(self.user)
|
|
776
|
+
obj_perm.object_types.add(instance.content_type)
|
|
777
|
+
|
|
778
|
+
url = reverse("extras-api:dynamicgroup-members", kwargs={"pk": instance.pk})
|
|
779
|
+
response = self.client.get(url, **self.header)
|
|
780
|
+
self.assertHttpStatus(response, status.HTTP_200_OK)
|
|
781
|
+
self.assertEqual(len(response.json()["results"]), 1)
|
|
782
|
+
self.assertEqual(response.json()["results"][0]["id"], str(obj1.pk))
|
|
783
|
+
|
|
762
784
|
|
|
763
785
|
class DynamicGroupMembershipTest(DynamicGroupTestMixin, APIViewTestCases.APIViewTestCase):
|
|
764
786
|
model = DynamicGroupMembership
|
|
@@ -27,6 +27,7 @@ from nautobot.extras.models import (
|
|
|
27
27
|
ConfigContextSchema,
|
|
28
28
|
ExportTemplate,
|
|
29
29
|
GitRepository,
|
|
30
|
+
Job,
|
|
30
31
|
JobLogEntry,
|
|
31
32
|
JobResult,
|
|
32
33
|
Secret,
|
|
@@ -119,13 +120,13 @@ class GitTest(TransactionTestCase):
|
|
|
119
120
|
|
|
120
121
|
def populate_repo(self, path, url, *args, **kwargs):
|
|
121
122
|
os.makedirs(path)
|
|
122
|
-
# TODO(Glenn): populate Jobs as well?
|
|
123
123
|
os.makedirs(os.path.join(path, "config_contexts"))
|
|
124
124
|
os.makedirs(os.path.join(path, "config_contexts", "devices"))
|
|
125
125
|
os.makedirs(os.path.join(path, "config_contexts", "locations"))
|
|
126
126
|
os.makedirs(os.path.join(path, "config_context_schemas"))
|
|
127
127
|
os.makedirs(os.path.join(path, "export_templates", "dcim", "device"))
|
|
128
128
|
os.makedirs(os.path.join(path, "export_templates", "ipam", "vlan"))
|
|
129
|
+
os.makedirs(os.path.join(path, "jobs"))
|
|
129
130
|
|
|
130
131
|
with open(os.path.join(path, "config_contexts", "context.yaml"), "w") as fd:
|
|
131
132
|
yaml.dump(
|
|
@@ -167,6 +168,19 @@ class GitTest(TransactionTestCase):
|
|
|
167
168
|
with open(os.path.join(path, "export_templates", "ipam", "vlan", "template.j2"), "w") as fd:
|
|
168
169
|
fd.write("{% for vlan in queryset %}\n{{ vlan.name }}\n{% endfor %}")
|
|
169
170
|
|
|
171
|
+
with open(os.path.join(path, "jobs", "__init__.py"), "w") as fd:
|
|
172
|
+
pass
|
|
173
|
+
|
|
174
|
+
with open(os.path.join(path, "jobs", "job.py"), "w") as fd:
|
|
175
|
+
fd.write(
|
|
176
|
+
"""\
|
|
177
|
+
from nautobot.extras.jobs import Job
|
|
178
|
+
|
|
179
|
+
class MyJob(Job):
|
|
180
|
+
def run(self, data, commit):
|
|
181
|
+
pass"""
|
|
182
|
+
)
|
|
183
|
+
|
|
170
184
|
return mock.DEFAULT
|
|
171
185
|
|
|
172
186
|
def empty_repo(self, path, url, *args, **kwargs):
|
|
@@ -177,6 +191,8 @@ class GitTest(TransactionTestCase):
|
|
|
177
191
|
os.remove(os.path.join(path, "export_templates", "dcim", "device", "template.j2"))
|
|
178
192
|
os.remove(os.path.join(path, "export_templates", "dcim", "device", "template2.html"))
|
|
179
193
|
os.remove(os.path.join(path, "export_templates", "ipam", "vlan", "template.j2"))
|
|
194
|
+
os.remove(os.path.join(path, "jobs", "__init__.py"))
|
|
195
|
+
os.remove(os.path.join(path, "jobs", "job.py"))
|
|
180
196
|
return mock.DEFAULT
|
|
181
197
|
|
|
182
198
|
def assert_config_context_schema_record_exists(self, name):
|
|
@@ -263,6 +279,11 @@ class GitTest(TransactionTestCase):
|
|
|
263
279
|
)
|
|
264
280
|
self.assertIsNotNone(export_template_vlan)
|
|
265
281
|
|
|
282
|
+
def assert_job_exists(self, installed=True):
|
|
283
|
+
"""Helper function to assert Job exists."""
|
|
284
|
+
job = Job.objects.get(git_repository=self.repo, job_class_name="MyJob")
|
|
285
|
+
self.assertEqual(job.installed, installed)
|
|
286
|
+
|
|
266
287
|
def test_pull_git_repository_and_refresh_data_with_no_data(self, MockGitRepo):
|
|
267
288
|
"""
|
|
268
289
|
The pull_git_repository_and_refresh_data job should succeed if the given repo is empty.
|
|
@@ -482,6 +503,8 @@ class GitTest(TransactionTestCase):
|
|
|
482
503
|
# Case when ContentType.model != ContentType.name, template was added and deleted during sync (#570)
|
|
483
504
|
self.assert_export_template_vlan_exists("template.j2")
|
|
484
505
|
|
|
506
|
+
self.assert_job_exists()
|
|
507
|
+
|
|
485
508
|
# Now "resync" the repository, but now those files no longer exist in the repository
|
|
486
509
|
MockGitRepo.side_effect = self.empty_repo
|
|
487
510
|
# For verisimilitude, don't re-use the old request and job_result
|
|
@@ -525,6 +548,9 @@ class GitTest(TransactionTestCase):
|
|
|
525
548
|
self.assertIsNone(device.local_context_data)
|
|
526
549
|
self.assertIsNone(device.local_context_data_owner)
|
|
527
550
|
|
|
551
|
+
# Job should still be present in the database but no longer installed
|
|
552
|
+
self.assert_job_exists(installed=False)
|
|
553
|
+
|
|
528
554
|
def test_pull_git_repository_and_refresh_data_with_bad_data(self, MockGitRepo):
|
|
529
555
|
"""
|
|
530
556
|
The test_pull_git_repository_and_refresh_data job should gracefully handle bad data in the Git repository
|
|
@@ -654,11 +680,11 @@ class GitTest(TransactionTestCase):
|
|
|
654
680
|
|
|
655
681
|
def populate_repo(path, url):
|
|
656
682
|
os.makedirs(path)
|
|
657
|
-
# Just make config_contexts and export_templates directories as we don't load jobs
|
|
658
683
|
os.makedirs(os.path.join(path, "config_contexts"))
|
|
659
684
|
os.makedirs(os.path.join(path, "config_contexts", "devices"))
|
|
660
685
|
os.makedirs(os.path.join(path, "config_context_schemas"))
|
|
661
686
|
os.makedirs(os.path.join(path, "export_templates", "dcim", "device"))
|
|
687
|
+
os.makedirs(os.path.join(path, "jobs"))
|
|
662
688
|
with open(os.path.join(path, "config_contexts", "context.yaml"), "w") as fd:
|
|
663
689
|
yaml.dump(
|
|
664
690
|
{
|
|
@@ -685,6 +711,18 @@ class GitTest(TransactionTestCase):
|
|
|
685
711
|
"w",
|
|
686
712
|
) as fd:
|
|
687
713
|
fd.write("{% for device in queryset %}\n{{ device.name }}\n{% endfor %}")
|
|
714
|
+
with open(os.path.join(path, "jobs", "__init__.py"), "w") as fd:
|
|
715
|
+
pass
|
|
716
|
+
with open(os.path.join(path, "jobs", "job.py"), "w") as fd:
|
|
717
|
+
fd.write(
|
|
718
|
+
"""\
|
|
719
|
+
from nautobot.extras.jobs import Job
|
|
720
|
+
|
|
721
|
+
class MyJob(Job):
|
|
722
|
+
def run(self, data, commit):
|
|
723
|
+
pass"""
|
|
724
|
+
)
|
|
725
|
+
|
|
688
726
|
return mock.DEFAULT
|
|
689
727
|
|
|
690
728
|
MockGitRepo.side_effect = populate_repo
|
|
@@ -744,6 +782,8 @@ class GitTest(TransactionTestCase):
|
|
|
744
782
|
)
|
|
745
783
|
self.assertIsNotNone(export_template)
|
|
746
784
|
|
|
785
|
+
self.assert_job_exists()
|
|
786
|
+
|
|
747
787
|
# Now delete the GitRepository
|
|
748
788
|
self.repo.delete()
|
|
749
789
|
|
|
@@ -768,6 +808,36 @@ class GitTest(TransactionTestCase):
|
|
|
768
808
|
device = Device.objects.get(name=self.device.name)
|
|
769
809
|
self.assertIsNone(device.local_context_data)
|
|
770
810
|
self.assertIsNone(device.local_context_data_owner)
|
|
811
|
+
self.assert_job_exists(installed=False)
|
|
812
|
+
|
|
813
|
+
# Now recreate the repository (https://github.com/nautobot/nautobot/issues/2974)
|
|
814
|
+
self.repo = GitRepository(
|
|
815
|
+
name="Test Git Repository",
|
|
816
|
+
slug="test_git_repo",
|
|
817
|
+
remote_url="http://localhost/git.git",
|
|
818
|
+
# Provide everything we know we can provide
|
|
819
|
+
provided_contents=[
|
|
820
|
+
entry.content_identifier for entry in get_datasource_contents("extras.gitrepository")
|
|
821
|
+
],
|
|
822
|
+
)
|
|
823
|
+
self.repo.save(trigger_resync=False)
|
|
824
|
+
|
|
825
|
+
self.job_result = JobResult.objects.create(
|
|
826
|
+
name=self.repo.name,
|
|
827
|
+
obj_type=ContentType.objects.get_for_model(GitRepository),
|
|
828
|
+
job_id=uuid.uuid4(),
|
|
829
|
+
)
|
|
830
|
+
|
|
831
|
+
pull_git_repository_and_refresh_data(self.repo.pk, self.mock_request, self.job_result.pk)
|
|
832
|
+
self.job_result.refresh_from_db()
|
|
833
|
+
|
|
834
|
+
self.assertEqual(
|
|
835
|
+
self.job_result.status,
|
|
836
|
+
JobResultStatusChoices.STATUS_COMPLETED,
|
|
837
|
+
self.job_result.data,
|
|
838
|
+
)
|
|
839
|
+
|
|
840
|
+
self.assert_job_exists(installed=True)
|
|
771
841
|
|
|
772
842
|
def test_git_dry_run(self, MockGitRepo):
|
|
773
843
|
with tempfile.TemporaryDirectory() as tempdir:
|
|
@@ -1002,7 +1002,7 @@ class DynamicGroupModelTest(DynamicGroupTestBase):
|
|
|
1002
1002
|
group.members_cached
|
|
1003
1003
|
self.assertEqual(mock_get_queryset.call_count, 1)
|
|
1004
1004
|
|
|
1005
|
-
time.sleep(
|
|
1005
|
+
time.sleep(3) # Let the cache expire
|
|
1006
1006
|
|
|
1007
1007
|
group.members_cached
|
|
1008
1008
|
self.assertEqual(mock_get_queryset.call_count, 2)
|
|
@@ -66,6 +66,7 @@ from nautobot.extras.utils import get_job_content_type, TaggableClassesQuery
|
|
|
66
66
|
from nautobot.ipam.factory import VLANFactory
|
|
67
67
|
from nautobot.ipam.models import VLAN, VLANGroup
|
|
68
68
|
from nautobot.users.models import ObjectPermission
|
|
69
|
+
from nautobot.utilities.permissions import get_permission_for_model
|
|
69
70
|
from nautobot.utilities.testing import ViewTestCases, TestCase, extract_page_body, extract_form_failures
|
|
70
71
|
from nautobot.utilities.testing.utils import disable_warnings, post_data
|
|
71
72
|
from nautobot.utilities.utils import slugify_dashes_to_underscores
|
|
@@ -614,9 +615,11 @@ class DynamicGroupTestCase(
|
|
|
614
615
|
content_type = ContentType.objects.get_for_model(Device)
|
|
615
616
|
|
|
616
617
|
# DynamicGroup objects to test.
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
618
|
+
cls.dynamic_groups = [
|
|
619
|
+
DynamicGroup.objects.create(name="DG 1", slug="dg-1", content_type=content_type),
|
|
620
|
+
DynamicGroup.objects.create(name="DG 2", slug="dg-2", content_type=content_type),
|
|
621
|
+
DynamicGroup.objects.create(name="DG 3", slug="dg-3", content_type=content_type),
|
|
622
|
+
]
|
|
620
623
|
|
|
621
624
|
manufacturer = Manufacturer.objects.create(name="Manufacturer 1", slug="manufacturer-1")
|
|
622
625
|
devicetype = DeviceType.objects.create(manufacturer=manufacturer, model="Device Type 1", slug="device-type-1")
|
|
@@ -637,6 +640,38 @@ class DynamicGroupTestCase(
|
|
|
637
640
|
"dynamic_group_memberships-MAX_NUM_FORMS": "1000",
|
|
638
641
|
}
|
|
639
642
|
|
|
643
|
+
def test_get_object_with_permission(self):
|
|
644
|
+
instance = self._get_queryset().first()
|
|
645
|
+
# Add view permissions for the group's members:
|
|
646
|
+
self.add_permissions(get_permission_for_model(instance.content_type.model_class(), "view"))
|
|
647
|
+
|
|
648
|
+
response = super().test_get_object_with_permission()
|
|
649
|
+
|
|
650
|
+
response_body = extract_page_body(response.content.decode(response.charset))
|
|
651
|
+
# Check that the "members" table in the detail view includes all appropriate member objects
|
|
652
|
+
for member in instance.members:
|
|
653
|
+
self.assertIn(str(member.pk), response_body)
|
|
654
|
+
|
|
655
|
+
def test_get_object_with_constrained_permission(self):
|
|
656
|
+
instance = self._get_queryset().first()
|
|
657
|
+
# Add view permission for one of the group's members but not the others:
|
|
658
|
+
member1, member2 = instance.members[:2]
|
|
659
|
+
obj_perm = ObjectPermission(
|
|
660
|
+
name="Members permission",
|
|
661
|
+
constraints={"pk": member1.pk},
|
|
662
|
+
actions=["view"],
|
|
663
|
+
)
|
|
664
|
+
obj_perm.save()
|
|
665
|
+
obj_perm.users.add(self.user)
|
|
666
|
+
obj_perm.object_types.add(instance.content_type)
|
|
667
|
+
|
|
668
|
+
response = super().test_get_object_with_constrained_permission()
|
|
669
|
+
|
|
670
|
+
response_body = extract_page_body(response.content.decode(response.charset))
|
|
671
|
+
# Check that the "members" table in the detail view includes all permitted member objects
|
|
672
|
+
self.assertIn(str(member1.pk), response_body)
|
|
673
|
+
self.assertNotIn(str(member2.pk), response_body)
|
|
674
|
+
|
|
640
675
|
def test_get_object_dynamic_groups_anonymous(self):
|
|
641
676
|
url = reverse("dcim:device_dynamicgroups", kwargs={"pk": Device.objects.first().pk})
|
|
642
677
|
self.client.logout()
|
|
@@ -660,7 +695,6 @@ class DynamicGroupTestCase(
|
|
|
660
695
|
self.assertIn("DG 3", response_body, msg=response_body)
|
|
661
696
|
|
|
662
697
|
def test_get_object_dynamic_groups_with_constrained_permission(self):
|
|
663
|
-
self.add_permissions("extras.view_dynamicgroup")
|
|
664
698
|
obj_perm = ObjectPermission(
|
|
665
699
|
name="View a device",
|
|
666
700
|
constraints={"pk": Device.objects.first().pk},
|
|
@@ -669,12 +703,22 @@ class DynamicGroupTestCase(
|
|
|
669
703
|
obj_perm.save()
|
|
670
704
|
obj_perm.users.add(self.user)
|
|
671
705
|
obj_perm.object_types.add(ContentType.objects.get_for_model(Device))
|
|
706
|
+
obj_perm_2 = ObjectPermission(
|
|
707
|
+
name="View a Dynamic Group",
|
|
708
|
+
constraints={"pk": self.dynamic_groups[0].pk},
|
|
709
|
+
actions=["view"],
|
|
710
|
+
)
|
|
711
|
+
obj_perm_2.save()
|
|
712
|
+
obj_perm_2.users.add(self.user)
|
|
713
|
+
obj_perm_2.object_types.add(ContentType.objects.get_for_model(DynamicGroup))
|
|
672
714
|
|
|
673
715
|
url = reverse("dcim:device_dynamicgroups", kwargs={"pk": Device.objects.first().pk})
|
|
674
716
|
response = self.client.get(url)
|
|
675
717
|
self.assertHttpStatus(response, 200)
|
|
676
718
|
response_body = response.content.decode(response.charset)
|
|
677
719
|
self.assertIn("DG 1", response_body, msg=response_body)
|
|
720
|
+
self.assertNotIn("DG 2", response_body, msg=response_body)
|
|
721
|
+
self.assertNotIn("DG 3", response_body, msg=response_body)
|
|
678
722
|
|
|
679
723
|
url = reverse("dcim:device_dynamicgroups", kwargs={"pk": Device.objects.last().pk})
|
|
680
724
|
response = self.client.get(url)
|
|
@@ -9,6 +9,7 @@ import sys
|
|
|
9
9
|
from django.apps import apps
|
|
10
10
|
from django.conf import settings
|
|
11
11
|
from django.contrib.contenttypes.models import ContentType
|
|
12
|
+
from django.db import IntegrityError
|
|
12
13
|
from django.db.models import Q
|
|
13
14
|
from django.template.loader import get_template, TemplateDoesNotExist
|
|
14
15
|
from django.utils.deconstruct import deconstructible
|
|
@@ -365,21 +366,37 @@ def refresh_job_model_from_job_class(job_model_class, job_source, job_class, *,
|
|
|
365
366
|
JOB_MAX_NAME_LENGTH,
|
|
366
367
|
)
|
|
367
368
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
369
|
+
try:
|
|
370
|
+
job_model, created = job_model_class.objects.get_or_create(
|
|
371
|
+
source=job_source[:JOB_MAX_SOURCE_LENGTH],
|
|
372
|
+
git_repository=git_repository,
|
|
373
|
+
module_name=job_class.__module__[:JOB_MAX_NAME_LENGTH],
|
|
374
|
+
job_class_name=job_class.__name__[:JOB_MAX_NAME_LENGTH],
|
|
375
|
+
defaults={
|
|
376
|
+
"slug": default_slug[:JOB_MAX_SLUG_LENGTH],
|
|
377
|
+
"grouping": job_class.grouping[:JOB_MAX_GROUPING_LENGTH],
|
|
378
|
+
"name": job_class.name[:JOB_MAX_NAME_LENGTH],
|
|
379
|
+
"is_job_hook_receiver": issubclass(job_class, JobHookReceiver),
|
|
380
|
+
"is_job_button_receiver": issubclass(job_class, JobButtonReceiver),
|
|
381
|
+
"installed": True,
|
|
382
|
+
"enabled": False,
|
|
383
|
+
},
|
|
384
|
+
)
|
|
385
|
+
except IntegrityError:
|
|
386
|
+
# can occur in the case where we've deleted a GitRepository, resulting in a Job record with
|
|
387
|
+
# source="git" but git_repository=None, and are now creating a new GitRepository to "re-claim" the Job.
|
|
388
|
+
if git_repository is not None:
|
|
389
|
+
created = False
|
|
390
|
+
job_model = job_model_class.objects.get(
|
|
391
|
+
source=job_source[:JOB_MAX_SOURCE_LENGTH],
|
|
392
|
+
git_repository=None,
|
|
393
|
+
module_name=job_class.__module__[:JOB_MAX_NAME_LENGTH],
|
|
394
|
+
job_class_name=job_class.__name__[:JOB_MAX_NAME_LENGTH],
|
|
395
|
+
)
|
|
396
|
+
job_model.git_repository = git_repository
|
|
397
|
+
job_model.save()
|
|
398
|
+
else:
|
|
399
|
+
raise
|
|
383
400
|
|
|
384
401
|
for field_name in JOB_OVERRIDABLE_FIELDS:
|
|
385
402
|
# Was this field directly inherited from the job before, or was it overridden in the database?
|
|
@@ -550,7 +550,7 @@ class DynamicGroupView(generic.ObjectView):
|
|
|
550
550
|
|
|
551
551
|
if table_class is not None:
|
|
552
552
|
# Members table (for display on Members nav tab)
|
|
553
|
-
members_table = table_class(instance.members, orderable=False)
|
|
553
|
+
members_table = table_class(instance.members.restrict(request.user, "view"), orderable=False)
|
|
554
554
|
paginate = {
|
|
555
555
|
"paginator_class": EnhancedPaginator,
|
|
556
556
|
"per_page": get_paginate_count(request),
|
|
@@ -722,7 +722,9 @@ class ObjectDynamicGroupsView(generic.GenericView):
|
|
|
722
722
|
obj = get_object_or_404(model, **kwargs)
|
|
723
723
|
|
|
724
724
|
# Gather all dynamic groups for this object (and its related objects)
|
|
725
|
-
dynamicsgroups_table = tables.DynamicGroupTable(
|
|
725
|
+
dynamicsgroups_table = tables.DynamicGroupTable(
|
|
726
|
+
data=obj.dynamic_groups_cached.restrict(request.user, "view"), orderable=False
|
|
727
|
+
)
|
|
726
728
|
|
|
727
729
|
# Apply the request context
|
|
728
730
|
paginate = {
|