nautobot 2.2.4__py3-none-any.whl → 2.2.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/api.py +2 -0
- nautobot/apps/models.py +2 -0
- nautobot/circuits/forms.py +15 -0
- nautobot/circuits/navigation.py +9 -1
- nautobot/circuits/views.py +2 -0
- nautobot/core/api/fields.py +13 -0
- nautobot/core/api/serializers.py +7 -1
- nautobot/core/filters.py +11 -0
- nautobot/core/management/commands/generate_test_data.py +128 -158
- nautobot/core/models/fields.py +15 -0
- nautobot/core/settings.yaml +3 -3
- nautobot/core/testing/filters.py +24 -1
- nautobot/core/testing/views.py +13 -1
- nautobot/core/tests/test_utils.py +48 -1
- nautobot/core/utils/git.py +121 -49
- nautobot/core/utils/module_loading.py +10 -2
- nautobot/core/views/utils.py +18 -1
- nautobot/dcim/factory.py +1 -1
- nautobot/dcim/filters/__init__.py +1 -1
- nautobot/dcim/forms.py +23 -4
- nautobot/dcim/tables/devicetypes.py +15 -4
- nautobot/dcim/tests/test_models.py +2 -0
- nautobot/dcim/tests/test_views.py +84 -0
- nautobot/dcim/views.py +3 -0
- nautobot/extras/api/views.py +2 -2
- nautobot/extras/context_managers.py +3 -0
- nautobot/extras/datasources/git.py +133 -135
- nautobot/extras/datasources/utils.py +3 -0
- nautobot/extras/filters/__init__.py +16 -1
- nautobot/extras/forms/forms.py +49 -3
- nautobot/extras/forms/mixins.py +0 -6
- nautobot/extras/jobs.py +9 -1
- nautobot/extras/migrations/0107_laxurlfield.py +28 -0
- nautobot/extras/migrations/0108_jobbutton_enabled.py +17 -0
- nautobot/extras/models/datasources.py +6 -4
- nautobot/extras/models/jobs.py +30 -0
- nautobot/extras/models/models.py +2 -4
- nautobot/extras/signals.py +6 -1
- nautobot/extras/tables.py +3 -0
- nautobot/extras/templates/extras/jobbutton_retrieve.html +6 -2
- nautobot/extras/templatetags/job_buttons.py +2 -2
- nautobot/extras/tests/git_data/01-valid-files/__init__.py +0 -0
- nautobot/extras/tests/git_data/01-valid-files/config_context_schemas/schema-1.yaml +18 -0
- nautobot/extras/tests/git_data/01-valid-files/config_contexts/context.yaml +12 -0
- nautobot/extras/tests/git_data/01-valid-files/config_contexts/devices/test-device.json +3 -0
- nautobot/extras/tests/git_data/01-valid-files/config_contexts/locations/Test Location.json +7 -0
- nautobot/extras/tests/git_data/01-valid-files/export_templates/dcim/device/template.j2 +3 -0
- nautobot/extras/tests/git_data/01-valid-files/export_templates/dcim/device/template2.html +4 -0
- nautobot/extras/tests/git_data/01-valid-files/export_templates/ipam/vlan/template.j2 +3 -0
- nautobot/extras/tests/git_data/01-valid-files/jobs/__init__.py +5 -0
- nautobot/extras/tests/git_data/01-valid-files/jobs/my_job.py +16 -0
- nautobot/extras/tests/git_data/02-invalid-files/__init__.py +0 -0
- nautobot/extras/tests/git_data/02-invalid-files/config_context_schemas/badschema1.json +2 -0
- nautobot/extras/tests/git_data/02-invalid-files/config_context_schemas/badschema2.json +1 -0
- nautobot/extras/tests/git_data/02-invalid-files/config_contexts/badcontext1.json +2 -0
- nautobot/extras/tests/git_data/02-invalid-files/config_contexts/badcontext2.json +1 -0
- nautobot/extras/tests/git_data/02-invalid-files/config_contexts/badcontext3.json +3 -0
- nautobot/extras/tests/git_data/02-invalid-files/config_contexts/devices/nosuchdevice.json +1 -0
- nautobot/extras/tests/git_data/02-invalid-files/dcim/template.j2 +0 -0
- nautobot/extras/tests/git_data/02-invalid-files/devices/template.j2 +0 -0
- nautobot/extras/tests/git_data/02-invalid-files/export_templates/dcim/nosuchmodel/template.j2 +3 -0
- nautobot/extras/tests/git_data/02-invalid-files/export_templates/nosuchapp/device/template.j2 +3 -0
- nautobot/extras/tests/git_data/02-invalid-files/jobs/__init__.py +2 -0
- nautobot/extras/tests/git_data/02-invalid-files/jobs/importerror.py +1 -0
- nautobot/extras/tests/git_data/02-invalid-files/jobs/syntaxerror.py +1 -0
- nautobot/extras/tests/git_helper.py +76 -0
- nautobot/extras/tests/test_api.py +52 -13
- nautobot/extras/tests/test_context_managers.py +33 -1
- nautobot/extras/tests/test_datasources.py +94 -276
- nautobot/extras/tests/test_filters.py +69 -0
- nautobot/extras/tests/test_forms.py +0 -3
- nautobot/extras/tests/test_models.py +8 -3
- nautobot/extras/tests/test_views.py +69 -11
- nautobot/extras/views.py +12 -10
- nautobot/ipam/filters.py +9 -1
- nautobot/ipam/forms.py +26 -0
- nautobot/ipam/tables.py +1 -1
- nautobot/ipam/tests/test_filters.py +15 -0
- nautobot/ipam/tests/test_views.py +9 -2
- nautobot/ipam/views.py +11 -0
- nautobot/project-static/docs/404.html +84 -9
- nautobot/project-static/docs/apps/index.html +97 -11
- nautobot/project-static/docs/apps/nautobot-apps.html +97 -11
- nautobot/project-static/docs/assets/app-icons/icon-CapacityMetrics.svg +1 -0
- nautobot/project-static/docs/assets/app-icons/icon-CircuitMaintenance.png +0 -0
- nautobot/project-static/docs/assets/javascripts/{bundle.3220b9d7.min.js → bundle.ad660dcc.min.js} +6 -6
- nautobot/project-static/docs/assets/javascripts/{bundle.3220b9d7.min.js.map → bundle.ad660dcc.min.js.map} +3 -3
- nautobot/project-static/docs/assets/javascripts/glightbox.min.js +1 -0
- nautobot/project-static/docs/assets/stylesheets/glightbox.min.css +1 -0
- nautobot/project-static/docs/assets/stylesheets/{main.66ac8b77.min.css → main.6543a935.min.css} +1 -1
- nautobot/project-static/docs/assets/stylesheets/{main.66ac8b77.min.css.map → main.6543a935.min.css.map} +1 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +157 -13
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +107 -12
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +97 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +144 -12
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +97 -11
- nautobot/project-static/docs/development/apps/api/configuration-view.html +97 -11
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +97 -11
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +97 -11
- nautobot/project-static/docs/development/apps/api/models/global-search.html +97 -11
- nautobot/project-static/docs/development/apps/api/models/graphql.html +97 -11
- nautobot/project-static/docs/development/apps/api/models/index.html +97 -11
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +98 -12
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +97 -11
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +97 -11
- nautobot/project-static/docs/development/apps/api/prometheus.html +97 -11
- nautobot/project-static/docs/development/apps/api/setup.html +97 -11
- nautobot/project-static/docs/development/apps/api/testing.html +97 -11
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +97 -11
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +97 -11
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +97 -11
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +97 -11
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/base-template.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/index.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/notes.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +97 -11
- nautobot/project-static/docs/development/apps/api/views/urls.html +97 -11
- nautobot/project-static/docs/development/apps/index.html +97 -11
- nautobot/project-static/docs/development/apps/migration/code-updates.html +98 -12
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +97 -11
- nautobot/project-static/docs/development/apps/migration/from-v1.html +99 -13
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +97 -11
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +97 -11
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +97 -11
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +97 -11
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +97 -11
- nautobot/project-static/docs/development/core/application-registry.html +98 -12
- nautobot/project-static/docs/development/core/best-practices.html +97 -11
- nautobot/project-static/docs/development/core/bootstrap-ui.html +97 -11
- nautobot/project-static/docs/development/core/caching.html +97 -11
- nautobot/project-static/docs/development/core/controllers.html +97 -11
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +97 -11
- nautobot/project-static/docs/development/core/generic-views.html +97 -11
- nautobot/project-static/docs/development/core/getting-started.html +99 -13
- nautobot/project-static/docs/development/core/homepage.html +97 -11
- nautobot/project-static/docs/development/core/index.html +97 -11
- nautobot/project-static/docs/development/core/model-checklist.html +97 -11
- nautobot/project-static/docs/development/core/model-features.html +97 -11
- nautobot/project-static/docs/development/core/natural-keys.html +97 -11
- nautobot/project-static/docs/development/core/navigation-menu.html +97 -11
- nautobot/project-static/docs/development/core/release-checklist.html +97 -11
- nautobot/project-static/docs/development/core/role-internals.html +97 -11
- nautobot/project-static/docs/development/core/settings.html +97 -11
- nautobot/project-static/docs/development/core/style-guide.html +97 -11
- nautobot/project-static/docs/development/core/templates.html +97 -11
- nautobot/project-static/docs/development/core/testing.html +98 -12
- nautobot/project-static/docs/development/core/user-preferences.html +97 -11
- nautobot/project-static/docs/development/index.html +97 -11
- nautobot/project-static/docs/development/jobs/index.html +97 -11
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +97 -11
- nautobot/project-static/docs/index.html +13 -8362
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +8229 -0
- nautobot/project-static/docs/overview/design_philosophy.html +8158 -0
- nautobot/project-static/docs/overview/index.html +8230 -0
- nautobot/project-static/docs/release-notes/index.html +97 -11
- nautobot/project-static/docs/release-notes/version-1.0.html +98 -12
- nautobot/project-static/docs/release-notes/version-1.1.html +97 -11
- nautobot/project-static/docs/release-notes/version-1.2.html +99 -13
- nautobot/project-static/docs/release-notes/version-1.3.html +98 -12
- nautobot/project-static/docs/release-notes/version-1.4.html +99 -13
- nautobot/project-static/docs/release-notes/version-1.5.html +99 -13
- nautobot/project-static/docs/release-notes/version-1.6.html +626 -160
- nautobot/project-static/docs/release-notes/version-2.0.html +100 -14
- nautobot/project-static/docs/release-notes/version-2.1.html +97 -11
- nautobot/project-static/docs/release-notes/version-2.2.html +546 -107
- nautobot/project-static/docs/requirements.txt +3 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +268 -258
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +97 -11
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +97 -11
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +99 -13
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +98 -12
- nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +100 -14
- nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +97 -11
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/caching.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +98 -12
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +97 -11
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation/index.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +101 -15
- nautobot/project-static/docs/user-guide/administration/installation/services.html +98 -12
- nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +97 -11
- nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +97 -11
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +97 -11
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +97 -11
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +97 -11
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +98 -12
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +97 -30
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-location-changes.yaml +1 -1
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +100 -14
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +99 -13
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +98 -12
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +97 -11
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +100 -14
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +98 -12
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +98 -12
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +97 -11
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +97 -11
- nautobot/project-static/docs/user-guide/index.html +100 -14
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +98 -12
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +98 -12
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +102 -15
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +99 -13
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +99 -13
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +98 -44
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +97 -11
- nautobot/project-static/js/forms.js +2 -1
- nautobot/tenancy/forms.py +9 -0
- nautobot/tenancy/views.py +1 -0
- nautobot/virtualization/forms.py +18 -6
- nautobot/virtualization/templates/virtualization/clustertype.html +2 -2
- nautobot/virtualization/views.py +2 -0
- {nautobot-2.2.4.dist-info → nautobot-2.2.6.dist-info}/METADATA +1 -1
- {nautobot-2.2.4.dist-info → nautobot-2.2.6.dist-info}/RECORD +364 -331
- nautobot/extras/tests/test_git.py +0 -23
- {nautobot-2.2.4.dist-info → nautobot-2.2.6.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.2.4.dist-info → nautobot-2.2.6.dist-info}/NOTICE +0 -0
- {nautobot-2.2.4.dist-info → nautobot-2.2.6.dist-info}/WHEEL +0 -0
- {nautobot-2.2.4.dist-info → nautobot-2.2.6.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.26">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../../assets/stylesheets/main.6543a935.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
@@ -67,7 +67,16 @@
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
<link href="../../../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
|
|
71
|
+
html.glightbox-open { overflow: initial; height: 100%; }
|
|
72
|
+
.gslide-title { margin-top: 0px; user-select: text; }
|
|
73
|
+
.gslide-desc { color: #666; user-select: text; }
|
|
74
|
+
.gslide-image img { background: white; }
|
|
75
|
+
.gscrollbar-fixer { padding-right: 15px; }
|
|
76
|
+
.gdesc-inner { font-size: 0.75rem; }
|
|
77
|
+
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
|
|
78
|
+
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
|
|
79
|
+
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../../../assets/javascripts/glightbox.min.js"></script></head>
|
|
71
80
|
|
|
72
81
|
|
|
73
82
|
|
|
@@ -102,7 +111,7 @@
|
|
|
102
111
|
|
|
103
112
|
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
104
113
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
105
|
-
<a href="
|
|
114
|
+
<a href="../../.." title="Nautobot Documentation" class="md-header__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
106
115
|
|
|
107
116
|
<img src="../../../assets/nautobot_logo.svg" alt="logo">
|
|
108
117
|
|
|
@@ -191,7 +200,7 @@
|
|
|
191
200
|
|
|
192
201
|
</form>
|
|
193
202
|
<div class="md-search__output">
|
|
194
|
-
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
203
|
+
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
195
204
|
<div class="md-search-result" data-md-component="search-result">
|
|
196
205
|
<div class="md-search-result__meta">
|
|
197
206
|
Initializing search
|
|
@@ -229,7 +238,7 @@
|
|
|
229
238
|
|
|
230
239
|
|
|
231
240
|
<li class="md-tabs__item">
|
|
232
|
-
<a href="../../../index.html" class="md-tabs__link">
|
|
241
|
+
<a href="../../../overview/index.html" class="md-tabs__link">
|
|
233
242
|
|
|
234
243
|
|
|
235
244
|
|
|
@@ -356,7 +365,7 @@
|
|
|
356
365
|
|
|
357
366
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
358
367
|
<label class="md-nav__title" for="__drawer">
|
|
359
|
-
<a href="
|
|
368
|
+
<a href="../../.." title="Nautobot Documentation" class="md-nav__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
360
369
|
|
|
361
370
|
<img src="../../../assets/nautobot_logo.svg" alt="logo">
|
|
362
371
|
|
|
@@ -384,17 +393,92 @@
|
|
|
384
393
|
|
|
385
394
|
|
|
386
395
|
|
|
387
|
-
|
|
388
|
-
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
|
|
389
408
|
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
<div class="md-nav__link md-nav__container">
|
|
412
|
+
<a href="../../../overview/index.html" class="md-nav__link ">
|
|
413
|
+
|
|
390
414
|
|
|
391
415
|
<span class="md-ellipsis">
|
|
392
416
|
Overview
|
|
393
417
|
</span>
|
|
394
418
|
|
|
395
419
|
|
|
420
|
+
</a>
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
424
|
+
<span class="md-nav__icon md-icon"></span>
|
|
425
|
+
</label>
|
|
426
|
+
|
|
427
|
+
</div>
|
|
428
|
+
|
|
429
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
|
430
|
+
<label class="md-nav__title" for="__nav_1">
|
|
431
|
+
<span class="md-nav__icon md-icon"></span>
|
|
432
|
+
Overview
|
|
433
|
+
</label>
|
|
434
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
<li class="md-nav__item">
|
|
443
|
+
<a href="../../../overview/design_philosophy.html" class="md-nav__link">
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
<span class="md-ellipsis">
|
|
447
|
+
Design Philosophy
|
|
448
|
+
</span>
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
</a>
|
|
452
|
+
</li>
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
<li class="md-nav__item">
|
|
464
|
+
<a href="../../../overview/application_stack.html" class="md-nav__link">
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
<span class="md-ellipsis">
|
|
468
|
+
Application Stack
|
|
469
|
+
</span>
|
|
470
|
+
|
|
471
|
+
|
|
396
472
|
</a>
|
|
397
473
|
</li>
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
</ul>
|
|
479
|
+
</nav>
|
|
480
|
+
|
|
481
|
+
</li>
|
|
398
482
|
|
|
399
483
|
|
|
400
484
|
|
|
@@ -7946,10 +8030,12 @@
|
|
|
7946
8030
|
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
7947
8031
|
|
|
7948
8032
|
|
|
7949
|
-
<script src="../../../assets/javascripts/bundle.
|
|
8033
|
+
<script src="../../../assets/javascripts/bundle.ad660dcc.min.js"></script>
|
|
7950
8034
|
|
|
7951
8035
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
7952
8036
|
|
|
7953
8037
|
|
|
7954
|
-
|
|
8038
|
+
<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
|
|
8039
|
+
document$.subscribe(() => { lightbox.reload() });
|
|
8040
|
+
</script></body>
|
|
7955
8041
|
</html>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.26">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../assets/stylesheets/main.6543a935.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
|
|
@@ -67,7 +67,16 @@
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
<link href="../../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
|
|
71
|
+
html.glightbox-open { overflow: initial; height: 100%; }
|
|
72
|
+
.gslide-title { margin-top: 0px; user-select: text; }
|
|
73
|
+
.gslide-desc { color: #666; user-select: text; }
|
|
74
|
+
.gslide-image img { background: white; }
|
|
75
|
+
.gscrollbar-fixer { padding-right: 15px; }
|
|
76
|
+
.gdesc-inner { font-size: 0.75rem; }
|
|
77
|
+
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
|
|
78
|
+
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
|
|
79
|
+
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../../assets/javascripts/glightbox.min.js"></script></head>
|
|
71
80
|
|
|
72
81
|
|
|
73
82
|
|
|
@@ -102,7 +111,7 @@
|
|
|
102
111
|
|
|
103
112
|
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
104
113
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
105
|
-
<a href="
|
|
114
|
+
<a href="../.." title="Nautobot Documentation" class="md-header__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
106
115
|
|
|
107
116
|
<img src="../../assets/nautobot_logo.svg" alt="logo">
|
|
108
117
|
|
|
@@ -191,7 +200,7 @@
|
|
|
191
200
|
|
|
192
201
|
</form>
|
|
193
202
|
<div class="md-search__output">
|
|
194
|
-
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
203
|
+
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
195
204
|
<div class="md-search-result" data-md-component="search-result">
|
|
196
205
|
<div class="md-search-result__meta">
|
|
197
206
|
Initializing search
|
|
@@ -229,7 +238,7 @@
|
|
|
229
238
|
|
|
230
239
|
|
|
231
240
|
<li class="md-tabs__item">
|
|
232
|
-
<a href="../../index.html" class="md-tabs__link">
|
|
241
|
+
<a href="../../overview/index.html" class="md-tabs__link">
|
|
233
242
|
|
|
234
243
|
|
|
235
244
|
|
|
@@ -356,7 +365,7 @@
|
|
|
356
365
|
|
|
357
366
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
358
367
|
<label class="md-nav__title" for="__drawer">
|
|
359
|
-
<a href="
|
|
368
|
+
<a href="../.." title="Nautobot Documentation" class="md-nav__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
360
369
|
|
|
361
370
|
<img src="../../assets/nautobot_logo.svg" alt="logo">
|
|
362
371
|
|
|
@@ -384,17 +393,92 @@
|
|
|
384
393
|
|
|
385
394
|
|
|
386
395
|
|
|
387
|
-
|
|
388
|
-
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
|
|
407
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
|
|
389
408
|
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
<div class="md-nav__link md-nav__container">
|
|
412
|
+
<a href="../../overview/index.html" class="md-nav__link ">
|
|
413
|
+
|
|
390
414
|
|
|
391
415
|
<span class="md-ellipsis">
|
|
392
416
|
Overview
|
|
393
417
|
</span>
|
|
394
418
|
|
|
395
419
|
|
|
420
|
+
</a>
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
424
|
+
<span class="md-nav__icon md-icon"></span>
|
|
425
|
+
</label>
|
|
426
|
+
|
|
427
|
+
</div>
|
|
428
|
+
|
|
429
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
|
430
|
+
<label class="md-nav__title" for="__nav_1">
|
|
431
|
+
<span class="md-nav__icon md-icon"></span>
|
|
432
|
+
Overview
|
|
433
|
+
</label>
|
|
434
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
<li class="md-nav__item">
|
|
443
|
+
<a href="../../overview/design_philosophy.html" class="md-nav__link">
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
<span class="md-ellipsis">
|
|
447
|
+
Design Philosophy
|
|
448
|
+
</span>
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
</a>
|
|
452
|
+
</li>
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
<li class="md-nav__item">
|
|
464
|
+
<a href="../../overview/application_stack.html" class="md-nav__link">
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
<span class="md-ellipsis">
|
|
468
|
+
Application Stack
|
|
469
|
+
</span>
|
|
470
|
+
|
|
471
|
+
|
|
396
472
|
</a>
|
|
397
473
|
</li>
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
</ul>
|
|
479
|
+
</nav>
|
|
480
|
+
|
|
481
|
+
</li>
|
|
398
482
|
|
|
399
483
|
|
|
400
484
|
|
|
@@ -8197,10 +8281,12 @@
|
|
|
8197
8281
|
<script id="__config" type="application/json">{"base": "../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
8198
8282
|
|
|
8199
8283
|
|
|
8200
|
-
<script src="../../assets/javascripts/bundle.
|
|
8284
|
+
<script src="../../assets/javascripts/bundle.ad660dcc.min.js"></script>
|
|
8201
8285
|
|
|
8202
8286
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
8203
8287
|
|
|
8204
8288
|
|
|
8205
|
-
|
|
8289
|
+
<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
|
|
8290
|
+
document$.subscribe(() => { lightbox.reload() });
|
|
8291
|
+
</script></body>
|
|
8206
8292
|
</html>
|
|
@@ -664,7 +664,8 @@ function initializeDynamicFilterForm(context){
|
|
|
664
664
|
let search_query = new URLSearchParams();
|
|
665
665
|
let dynamic_query = new URLSearchParams(new FormData(document.getElementById("dynamic-filter-form")));
|
|
666
666
|
dynamic_query.forEach((value, key) => { if (value != "") { search_query.append(key, value); }});
|
|
667
|
-
|
|
667
|
+
// Some list views may lack a default-filter form
|
|
668
|
+
let default_query = new URLSearchParams(new FormData(document.getElementById("default-filter")?.firstElementChild));
|
|
668
669
|
default_query.forEach((value, key) => {
|
|
669
670
|
if (value != "" && !search_query.has(key, value)) { search_query.append(key, value); }
|
|
670
671
|
});
|
nautobot/tenancy/forms.py
CHANGED
|
@@ -4,8 +4,10 @@ from nautobot.core.forms import (
|
|
|
4
4
|
CommentField,
|
|
5
5
|
DynamicModelChoiceField,
|
|
6
6
|
DynamicModelMultipleChoiceField,
|
|
7
|
+
StaticSelect2,
|
|
7
8
|
TagFilterField,
|
|
8
9
|
)
|
|
10
|
+
from nautobot.core.forms.constants import BOOLEAN_WITH_BLANK_CHOICES
|
|
9
11
|
from nautobot.extras.forms import (
|
|
10
12
|
NautobotBulkEditForm,
|
|
11
13
|
NautobotFilterForm,
|
|
@@ -32,6 +34,13 @@ class TenantGroupForm(NautobotModelForm):
|
|
|
32
34
|
]
|
|
33
35
|
|
|
34
36
|
|
|
37
|
+
class TenantGroupFilterForm(NautobotFilterForm):
|
|
38
|
+
model = TenantGroup
|
|
39
|
+
q = forms.CharField(required=False, label="Search")
|
|
40
|
+
parent = DynamicModelMultipleChoiceField(queryset=TenantGroup.objects.all(), to_field_name="name", required=False)
|
|
41
|
+
has_tenants = forms.NullBooleanField(required="False", widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES))
|
|
42
|
+
|
|
43
|
+
|
|
35
44
|
#
|
|
36
45
|
# Tenants
|
|
37
46
|
#
|
nautobot/tenancy/views.py
CHANGED
|
@@ -19,6 +19,7 @@ from .models import Tenant, TenantGroup
|
|
|
19
19
|
class TenantGroupListView(generic.ObjectListView):
|
|
20
20
|
queryset = TenantGroup.objects.annotate(tenant_count=count_related(Tenant, "tenant_group"))
|
|
21
21
|
filterset = filters.TenantGroupFilterSet
|
|
22
|
+
filterset_form = forms.TenantGroupFilterForm
|
|
22
23
|
table = tables.TenantGroupTable
|
|
23
24
|
|
|
24
25
|
|
nautobot/virtualization/forms.py
CHANGED
|
@@ -62,6 +62,12 @@ class ClusterTypeForm(NautobotModelForm):
|
|
|
62
62
|
]
|
|
63
63
|
|
|
64
64
|
|
|
65
|
+
class ClusterTypeFilterForm(NautobotFilterForm):
|
|
66
|
+
model = ClusterType
|
|
67
|
+
q = forms.CharField(required=False, label="Search")
|
|
68
|
+
clusters = DynamicModelMultipleChoiceField(queryset=Cluster.objects.all(), to_field_name="name", required=False)
|
|
69
|
+
|
|
70
|
+
|
|
65
71
|
#
|
|
66
72
|
# Cluster groups
|
|
67
73
|
#
|
|
@@ -76,6 +82,12 @@ class ClusterGroupForm(NautobotModelForm):
|
|
|
76
82
|
]
|
|
77
83
|
|
|
78
84
|
|
|
85
|
+
class ClusterGroupFilterForm(NautobotFilterForm):
|
|
86
|
+
model = ClusterGroup
|
|
87
|
+
q = forms.CharField(required=False, label="Search")
|
|
88
|
+
clusters = DynamicModelMultipleChoiceField(queryset=Cluster.objects.all(), to_field_name="name", required=False)
|
|
89
|
+
|
|
90
|
+
|
|
79
91
|
#
|
|
80
92
|
# Clusters
|
|
81
93
|
#
|
|
@@ -485,8 +497,8 @@ class VMInterfaceForm(NautobotModelForm, InterfaceCommonForm):
|
|
|
485
497
|
# Add current location to VLANs query params
|
|
486
498
|
location = virtual_machine.location
|
|
487
499
|
if location:
|
|
488
|
-
self.fields["untagged_vlan"].widget.add_query_param("
|
|
489
|
-
self.fields["tagged_vlans"].widget.add_query_param("
|
|
500
|
+
self.fields["untagged_vlan"].widget.add_query_param("locations", location.pk)
|
|
501
|
+
self.fields["tagged_vlans"].widget.add_query_param("locations", location.pk)
|
|
490
502
|
|
|
491
503
|
|
|
492
504
|
class VMInterfaceCreateForm(BootstrapMixin, InterfaceCommonForm):
|
|
@@ -558,8 +570,8 @@ class VMInterfaceCreateForm(BootstrapMixin, InterfaceCommonForm):
|
|
|
558
570
|
# Add current location to VLANs query params
|
|
559
571
|
location = virtual_machine.location
|
|
560
572
|
if location:
|
|
561
|
-
self.fields["untagged_vlan"].widget.add_query_param("
|
|
562
|
-
self.fields["tagged_vlans"].widget.add_query_param("
|
|
573
|
+
self.fields["untagged_vlan"].widget.add_query_param("locations", location.pk)
|
|
574
|
+
self.fields["tagged_vlans"].widget.add_query_param("locations", location.pk)
|
|
563
575
|
|
|
564
576
|
|
|
565
577
|
class VMInterfaceBulkEditForm(TagsBulkEditFormMixin, StatusModelBulkEditFormMixin, NautobotBulkEditForm):
|
|
@@ -628,8 +640,8 @@ class VMInterfaceBulkEditForm(TagsBulkEditFormMixin, StatusModelBulkEditFormMixi
|
|
|
628
640
|
location = getattr(parent_obj.cluster, "location", None)
|
|
629
641
|
if location is not None:
|
|
630
642
|
# Add current location to VLANs query params
|
|
631
|
-
self.fields["untagged_vlan"].widget.add_query_param("
|
|
632
|
-
self.fields["tagged_vlans"].widget.add_query_param("
|
|
643
|
+
self.fields["untagged_vlan"].widget.add_query_param("locations", location.pk)
|
|
644
|
+
self.fields["tagged_vlans"].widget.add_query_param("locations", location.pk)
|
|
633
645
|
|
|
634
646
|
self.fields["parent_interface"].choices = ()
|
|
635
647
|
self.fields["parent_interface"].widget.attrs["disabled"] = True
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
<tr>
|
|
15
15
|
<td>Clusters</td>
|
|
16
16
|
<td>
|
|
17
|
-
<a href="{% url 'virtualization:cluster_list' %}?
|
|
17
|
+
<a href="{% url 'virtualization:cluster_list' %}?cluster_type={{ object.name }}">{{ cluster_table.rows|length }}</a>
|
|
18
18
|
</td>
|
|
19
19
|
</tr>
|
|
20
20
|
</table>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
{% include 'inc/table.html' with table=cluster_table %}
|
|
30
30
|
{% if perms.virtualization.add_cluster %}
|
|
31
31
|
<div class="panel-footer text-right noprint">
|
|
32
|
-
<a href="{% url 'virtualization:cluster_add' %}?
|
|
32
|
+
<a href="{% url 'virtualization:cluster_add' %}?cluster_type={{ object.pk }}" class="btn btn-xs btn-primary">
|
|
33
33
|
<span class="mdi mdi-plus-thick" aria-hidden="true"></span> Add cluster
|
|
34
34
|
</a>
|
|
35
35
|
</div>
|
nautobot/virtualization/views.py
CHANGED
|
@@ -27,6 +27,7 @@ from .models import Cluster, ClusterGroup, ClusterType, VirtualMachine, VMInterf
|
|
|
27
27
|
class ClusterTypeListView(generic.ObjectListView):
|
|
28
28
|
queryset = ClusterType.objects.annotate(cluster_count=count_related(Cluster, "cluster_type"))
|
|
29
29
|
filterset = filters.ClusterTypeFilterSet
|
|
30
|
+
filterset_form = forms.ClusterTypeFilterForm
|
|
30
31
|
table = tables.ClusterTypeTable
|
|
31
32
|
|
|
32
33
|
|
|
@@ -84,6 +85,7 @@ class ClusterTypeBulkDeleteView(generic.BulkDeleteView):
|
|
|
84
85
|
class ClusterGroupListView(generic.ObjectListView):
|
|
85
86
|
queryset = ClusterGroup.objects.annotate(cluster_count=count_related(Cluster, "cluster_group"))
|
|
86
87
|
filterset = filters.ClusterGroupFilterSet
|
|
88
|
+
filterset_form = forms.ClusterGroupFilterForm
|
|
87
89
|
table = tables.ClusterGroupTable
|
|
88
90
|
|
|
89
91
|
|