nautobot 2.2.5__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/core/api/fields.py +13 -0
- nautobot/core/api/serializers.py +7 -1
- nautobot/core/management/commands/generate_test_data.py +128 -158
- nautobot/core/models/fields.py +15 -0
- nautobot/core/tests/test_utils.py +48 -1
- nautobot/core/utils/git.py +121 -49
- nautobot/core/utils/module_loading.py +10 -2
- nautobot/dcim/factory.py +1 -1
- nautobot/dcim/tests/test_models.py +2 -0
- nautobot/extras/datasources/git.py +133 -135
- nautobot/extras/datasources/utils.py +3 -0
- nautobot/extras/filters/__init__.py +1 -0
- nautobot/extras/forms/forms.py +16 -3
- 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/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 +28 -11
- nautobot/extras/tests/test_datasources.py +94 -276
- nautobot/extras/tests/test_models.py +8 -3
- nautobot/extras/tests/test_views.py +21 -7
- nautobot/ipam/filters.py +9 -1
- nautobot/ipam/forms.py +8 -0
- nautobot/ipam/tables.py +1 -1
- nautobot/ipam/tests/test_filters.py +15 -0
- nautobot/project-static/docs/404.html +83 -8
- nautobot/project-static/docs/apps/index.html +96 -10
- nautobot/project-static/docs/apps/nautobot-apps.html +96 -10
- 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.ebd0bdb7.min.js → bundle.ad660dcc.min.js} +3 -3
- nautobot/project-static/docs/assets/javascripts/{bundle.ebd0bdb7.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/code-reference/nautobot/apps/__init__.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +156 -12
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +106 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +96 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +143 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +96 -10
- nautobot/project-static/docs/development/apps/api/configuration-view.html +96 -10
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +96 -10
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +96 -10
- nautobot/project-static/docs/development/apps/api/models/global-search.html +96 -10
- nautobot/project-static/docs/development/apps/api/models/graphql.html +96 -10
- nautobot/project-static/docs/development/apps/api/models/index.html +96 -10
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +96 -10
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +96 -10
- nautobot/project-static/docs/development/apps/api/prometheus.html +96 -10
- nautobot/project-static/docs/development/apps/api/setup.html +96 -10
- nautobot/project-static/docs/development/apps/api/testing.html +96 -10
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +96 -10
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +96 -10
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +96 -10
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +96 -10
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/base-template.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/index.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/notes.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +96 -10
- nautobot/project-static/docs/development/apps/api/views/urls.html +96 -10
- nautobot/project-static/docs/development/apps/index.html +96 -10
- nautobot/project-static/docs/development/apps/migration/code-updates.html +97 -11
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +96 -10
- nautobot/project-static/docs/development/apps/migration/from-v1.html +96 -10
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +96 -10
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +96 -10
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +96 -10
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +96 -10
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +96 -10
- nautobot/project-static/docs/development/core/application-registry.html +96 -10
- nautobot/project-static/docs/development/core/best-practices.html +96 -10
- nautobot/project-static/docs/development/core/bootstrap-ui.html +96 -10
- nautobot/project-static/docs/development/core/caching.html +96 -10
- nautobot/project-static/docs/development/core/controllers.html +96 -10
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +96 -10
- nautobot/project-static/docs/development/core/generic-views.html +96 -10
- nautobot/project-static/docs/development/core/getting-started.html +96 -10
- nautobot/project-static/docs/development/core/homepage.html +96 -10
- nautobot/project-static/docs/development/core/index.html +96 -10
- nautobot/project-static/docs/development/core/model-checklist.html +96 -10
- nautobot/project-static/docs/development/core/model-features.html +96 -10
- nautobot/project-static/docs/development/core/natural-keys.html +96 -10
- nautobot/project-static/docs/development/core/navigation-menu.html +96 -10
- nautobot/project-static/docs/development/core/release-checklist.html +96 -10
- nautobot/project-static/docs/development/core/role-internals.html +96 -10
- nautobot/project-static/docs/development/core/settings.html +96 -10
- nautobot/project-static/docs/development/core/style-guide.html +96 -10
- nautobot/project-static/docs/development/core/templates.html +96 -10
- nautobot/project-static/docs/development/core/testing.html +96 -10
- nautobot/project-static/docs/development/core/user-preferences.html +96 -10
- nautobot/project-static/docs/development/index.html +96 -10
- nautobot/project-static/docs/development/jobs/index.html +96 -10
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +96 -10
- 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 +96 -10
- nautobot/project-static/docs/release-notes/version-1.0.html +96 -10
- nautobot/project-static/docs/release-notes/version-1.1.html +96 -10
- nautobot/project-static/docs/release-notes/version-1.2.html +96 -10
- nautobot/project-static/docs/release-notes/version-1.3.html +96 -10
- nautobot/project-static/docs/release-notes/version-1.4.html +96 -10
- nautobot/project-static/docs/release-notes/version-1.5.html +96 -10
- nautobot/project-static/docs/release-notes/version-1.6.html +96 -10
- nautobot/project-static/docs/release-notes/version-2.0.html +96 -10
- nautobot/project-static/docs/release-notes/version-2.1.html +96 -10
- nautobot/project-static/docs/release-notes/version-2.2.html +377 -117
- nautobot/project-static/docs/requirements.txt +2 -1
- 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 +96 -10
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +96 -10
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +96 -10
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +96 -10
- nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +96 -10
- nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +96 -10
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/caching.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +96 -10
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/index.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation/services.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +96 -10
- nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +96 -10
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +96 -10
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +96 -10
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +96 -10
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +96 -10
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +96 -10
- 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 +97 -11
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +96 -10
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +96 -10
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +96 -10
- nautobot/project-static/docs/user-guide/index.html +99 -13
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +97 -11
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +101 -14
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +96 -10
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +96 -10
- {nautobot-2.2.5.dist-info → nautobot-2.2.6.dist-info}/METADATA +1 -1
- {nautobot-2.2.5.dist-info → nautobot-2.2.6.dist-info}/RECORD +333 -300
- nautobot/extras/tests/test_git.py +0 -23
- {nautobot-2.2.5.dist-info → nautobot-2.2.6.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.2.5.dist-info → nautobot-2.2.6.dist-info}/NOTICE +0 -0
- {nautobot-2.2.5.dist-info → nautobot-2.2.6.dist-info}/WHEEL +0 -0
- {nautobot-2.2.5.dist-info → nautobot-2.2.6.dist-info}/entry_points.txt +0 -0
|
@@ -996,7 +996,7 @@ class GitRepositoryTestCase(
|
|
|
996
996
|
# Create four GitRepository records
|
|
997
997
|
repos = (
|
|
998
998
|
GitRepository(name="Repo 1", slug="repo_1", remote_url="https://example.com/repo1.git"),
|
|
999
|
-
GitRepository(name="Repo 2", slug="repo_2", remote_url="https://
|
|
999
|
+
GitRepository(name="Repo 2", slug="repo_2", remote_url="https://some-local-host/repo2.git"),
|
|
1000
1000
|
GitRepository(name="Repo 3", slug="repo_3", remote_url="https://example.com/repo3.git"),
|
|
1001
1001
|
GitRepository(name="Repo 4", remote_url="https://example.com/repo4.git", secrets_group=secrets_groups[0]),
|
|
1002
1002
|
)
|
|
@@ -1006,7 +1006,7 @@ class GitRepositoryTestCase(
|
|
|
1006
1006
|
cls.form_data = {
|
|
1007
1007
|
"name": "A new Git repository",
|
|
1008
1008
|
"slug": "a_new_git_repository",
|
|
1009
|
-
"remote_url": "http://
|
|
1009
|
+
"remote_url": "http://another-local-host/a_new_git_repository.git",
|
|
1010
1010
|
"branch": "develop",
|
|
1011
1011
|
"_token": "1234567890abcdef1234567890abcdef",
|
|
1012
1012
|
"secrets_group": secrets_groups[1].pk,
|
|
@@ -2329,23 +2329,30 @@ class JobButtonTestCase(
|
|
|
2329
2329
|
|
|
2330
2330
|
@classmethod
|
|
2331
2331
|
def setUpTestData(cls):
|
|
2332
|
+
jbr_simple = Job.objects.get(job_class_name="TestJobButtonReceiverSimple")
|
|
2333
|
+
jbr_simple.enabled = True
|
|
2334
|
+
jbr_simple.save()
|
|
2335
|
+
jbr_complex = Job.objects.get(job_class_name="TestJobButtonReceiverComplex")
|
|
2336
|
+
jbr_complex.enabled = True
|
|
2337
|
+
jbr_complex.save()
|
|
2338
|
+
|
|
2332
2339
|
job_buttons = (
|
|
2333
2340
|
JobButton.objects.create(
|
|
2334
2341
|
name="JobButton1",
|
|
2335
2342
|
text="JobButton1",
|
|
2336
|
-
job=
|
|
2343
|
+
job=jbr_simple,
|
|
2337
2344
|
confirmation=True,
|
|
2338
2345
|
),
|
|
2339
2346
|
JobButton.objects.create(
|
|
2340
2347
|
name="JobButton2",
|
|
2341
2348
|
text="JobButton2",
|
|
2342
|
-
job=
|
|
2349
|
+
job=jbr_simple,
|
|
2343
2350
|
confirmation=False,
|
|
2344
2351
|
),
|
|
2345
2352
|
JobButton.objects.create(
|
|
2346
2353
|
name="JobButton3",
|
|
2347
2354
|
text="JobButton3",
|
|
2348
|
-
job=
|
|
2355
|
+
job=jbr_complex,
|
|
2349
2356
|
confirmation=True,
|
|
2350
2357
|
weight=50,
|
|
2351
2358
|
),
|
|
@@ -2359,7 +2366,7 @@ class JobButtonTestCase(
|
|
|
2359
2366
|
"content_types": [location_ct.pk],
|
|
2360
2367
|
"name": "jobbutton-4",
|
|
2361
2368
|
"text": "jobbutton text 4",
|
|
2362
|
-
"job":
|
|
2369
|
+
"job": jbr_complex.pk,
|
|
2363
2370
|
"weight": 100,
|
|
2364
2371
|
"button_class": "default",
|
|
2365
2372
|
"confirmation": False,
|
|
@@ -2374,6 +2381,9 @@ class JobButtonRenderingTestCase(TestCase):
|
|
|
2374
2381
|
def setUp(self):
|
|
2375
2382
|
super().setUp()
|
|
2376
2383
|
self.job = Job.objects.get(job_class_name="TestJobButtonReceiverSimple")
|
|
2384
|
+
self.job.enabled = True
|
|
2385
|
+
self.job.save()
|
|
2386
|
+
|
|
2377
2387
|
self.job_button_1 = JobButton(
|
|
2378
2388
|
name="JobButton 1",
|
|
2379
2389
|
text="JobButton {{ obj.name }}",
|
|
@@ -2383,10 +2393,14 @@ class JobButtonRenderingTestCase(TestCase):
|
|
|
2383
2393
|
self.job_button_1.validated_save()
|
|
2384
2394
|
self.job_button_1.content_types.add(ContentType.objects.get_for_model(LocationType))
|
|
2385
2395
|
|
|
2396
|
+
job_2 = Job.objects.get(job_class_name="TestJobButtonReceiverComplex")
|
|
2397
|
+
job_2.enabled = True
|
|
2398
|
+
job_2.save()
|
|
2399
|
+
|
|
2386
2400
|
self.job_button_2 = JobButton(
|
|
2387
2401
|
name="JobButton 2",
|
|
2388
2402
|
text="Click me!",
|
|
2389
|
-
job=
|
|
2403
|
+
job=job_2,
|
|
2390
2404
|
confirmation=False,
|
|
2391
2405
|
)
|
|
2392
2406
|
self.job_button_2.validated_save()
|
nautobot/ipam/filters.py
CHANGED
|
@@ -433,11 +433,19 @@ class IPAddressFilterSet(
|
|
|
433
433
|
method="_has_interface_assignments",
|
|
434
434
|
label="Has Interface Assignments",
|
|
435
435
|
)
|
|
436
|
+
nat_inside = django_filters.ModelMultipleChoiceFilter(
|
|
437
|
+
queryset=IPAddress.objects.all(),
|
|
438
|
+
label="NAT (Inside)",
|
|
439
|
+
)
|
|
440
|
+
has_nat_inside = RelatedMembershipBooleanFilter(
|
|
441
|
+
field_name="nat_inside",
|
|
442
|
+
label="Has NAT Inside",
|
|
443
|
+
)
|
|
436
444
|
ip_version = django_filters.NumberFilter()
|
|
437
445
|
|
|
438
446
|
class Meta:
|
|
439
447
|
model = IPAddress
|
|
440
|
-
fields = ["id", "dns_name", "type", "tags", "mask_length"]
|
|
448
|
+
fields = ["id", "dns_name", "type", "tags", "mask_length", "nat_inside"]
|
|
441
449
|
|
|
442
450
|
def generate_query__has_interface_assignments(self, value):
|
|
443
451
|
"""Helper method used by DynamicGroups and by _assigned_to_interface method."""
|
nautobot/ipam/forms.py
CHANGED
|
@@ -664,6 +664,8 @@ class IPAddressFilterForm(NautobotFilterForm, TenancyFilterForm, StatusModelFilt
|
|
|
664
664
|
"role",
|
|
665
665
|
"tenant_group",
|
|
666
666
|
"tenant",
|
|
667
|
+
"nat_inside",
|
|
668
|
+
"has_nat_inside",
|
|
667
669
|
]
|
|
668
670
|
q = forms.CharField(required=False, label="Search")
|
|
669
671
|
parent = forms.CharField(
|
|
@@ -700,6 +702,12 @@ class IPAddressFilterForm(NautobotFilterForm, TenancyFilterForm, StatusModelFilt
|
|
|
700
702
|
widget=StaticSelect2(),
|
|
701
703
|
)
|
|
702
704
|
tags = TagFilterField(model)
|
|
705
|
+
nat_inside = DynamicModelChoiceField(queryset=IPAddress.objects.all(), required=False, label="NAT Inside Address")
|
|
706
|
+
has_nat_inside = forms.NullBooleanField(
|
|
707
|
+
required=False,
|
|
708
|
+
label="Has NAT Inside",
|
|
709
|
+
widget=StaticSelect2(choices=BOOLEAN_WITH_BLANK_CHOICES),
|
|
710
|
+
)
|
|
703
711
|
|
|
704
712
|
|
|
705
713
|
#
|
nautobot/ipam/tables.py
CHANGED
|
@@ -473,7 +473,7 @@ class IPAddressTable(StatusTableMixin, RoleTableMixin, BaseTable):
|
|
|
473
473
|
|
|
474
474
|
|
|
475
475
|
class IPAddressDetailTable(IPAddressTable):
|
|
476
|
-
nat_inside = tables.Column(linkify=True,
|
|
476
|
+
nat_inside = tables.Column(linkify=True, verbose_name="NAT (Inside)")
|
|
477
477
|
tenant = TenantColumn()
|
|
478
478
|
tags = TagColumn(url_name="ipam:ipaddress_list")
|
|
479
479
|
assigned = BooleanColumn(accessor="assigned_count")
|
|
@@ -462,6 +462,7 @@ class IPAddressTestCase(FilterTestCases.FilterTestCase, FilterTestCases.TenancyF
|
|
|
462
462
|
queryset = IPAddress.objects.all()
|
|
463
463
|
filterset = IPAddressFilterSet
|
|
464
464
|
tenancy_related_name = "ip_addresses"
|
|
465
|
+
generic_filter_tests = (["nat_inside", "nat_inside__id"],)
|
|
465
466
|
|
|
466
467
|
@classmethod
|
|
467
468
|
def setUpTestData(cls):
|
|
@@ -638,6 +639,20 @@ class IPAddressTestCase(FilterTestCases.FilterTestCase, FilterTestCases.TenancyF
|
|
|
638
639
|
status=statuses[0],
|
|
639
640
|
namespace=cls.namespace,
|
|
640
641
|
)
|
|
642
|
+
IPAddress.objects.create(
|
|
643
|
+
address="10.1.1.1/32",
|
|
644
|
+
tenant=None,
|
|
645
|
+
status=statuses[0],
|
|
646
|
+
namespace=cls.namespace,
|
|
647
|
+
nat_inside=ip0,
|
|
648
|
+
)
|
|
649
|
+
IPAddress.objects.create(
|
|
650
|
+
address="10.2.2.2/32",
|
|
651
|
+
tenant=None,
|
|
652
|
+
status=statuses[0],
|
|
653
|
+
namespace=cls.namespace,
|
|
654
|
+
nat_inside=ip1,
|
|
655
|
+
)
|
|
641
656
|
|
|
642
657
|
def test_search(self):
|
|
643
658
|
ipv4_octets = self.ipv4_address.host.split(".")
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
<link rel="icon" href="/projects/core/en/stable/assets/favicon.ico">
|
|
15
|
-
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.
|
|
15
|
+
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.26">
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
|
|
92
92
|
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
93
93
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
94
|
-
<a href="/projects/core/en/stable
|
|
94
|
+
<a href="/projects/core/en/stable/." title="Nautobot Documentation" class="md-header__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
95
95
|
|
|
96
96
|
<img src="/projects/core/en/stable/assets/nautobot_logo.svg" alt="logo">
|
|
97
97
|
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
|
|
181
181
|
</form>
|
|
182
182
|
<div class="md-search__output">
|
|
183
|
-
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
183
|
+
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
184
184
|
<div class="md-search-result" data-md-component="search-result">
|
|
185
185
|
<div class="md-search-result__meta">
|
|
186
186
|
Initializing search
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
|
|
219
219
|
|
|
220
220
|
<li class="md-tabs__item">
|
|
221
|
-
<a href="/projects/core/en/stable/index.html" class="md-tabs__link">
|
|
221
|
+
<a href="/projects/core/en/stable/overview/index.html" class="md-tabs__link">
|
|
222
222
|
|
|
223
223
|
|
|
224
224
|
|
|
@@ -343,7 +343,7 @@
|
|
|
343
343
|
|
|
344
344
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
345
345
|
<label class="md-nav__title" for="__drawer">
|
|
346
|
-
<a href="/projects/core/en/stable
|
|
346
|
+
<a href="/projects/core/en/stable/." title="Nautobot Documentation" class="md-nav__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
347
347
|
|
|
348
348
|
<img src="/projects/core/en/stable/assets/nautobot_logo.svg" alt="logo">
|
|
349
349
|
|
|
@@ -371,19 +371,94 @@
|
|
|
371
371
|
|
|
372
372
|
|
|
373
373
|
|
|
374
|
-
|
|
375
|
-
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
|
|
376
386
|
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
<div class="md-nav__link md-nav__container">
|
|
390
|
+
<a href="/projects/core/en/stable/overview/index.html" class="md-nav__link ">
|
|
391
|
+
|
|
377
392
|
|
|
378
393
|
<span class="md-ellipsis">
|
|
379
394
|
Overview
|
|
380
395
|
</span>
|
|
381
396
|
|
|
382
397
|
|
|
398
|
+
</a>
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
402
|
+
<span class="md-nav__icon md-icon"></span>
|
|
403
|
+
</label>
|
|
404
|
+
|
|
405
|
+
</div>
|
|
406
|
+
|
|
407
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
|
408
|
+
<label class="md-nav__title" for="__nav_1">
|
|
409
|
+
<span class="md-nav__icon md-icon"></span>
|
|
410
|
+
Overview
|
|
411
|
+
</label>
|
|
412
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
<li class="md-nav__item">
|
|
421
|
+
<a href="/projects/core/en/stable/overview/design_philosophy.html" class="md-nav__link">
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
<span class="md-ellipsis">
|
|
425
|
+
Design Philosophy
|
|
426
|
+
</span>
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
</a>
|
|
430
|
+
</li>
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
<li class="md-nav__item">
|
|
442
|
+
<a href="/projects/core/en/stable/overview/application_stack.html" class="md-nav__link">
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
<span class="md-ellipsis">
|
|
446
|
+
Application Stack
|
|
447
|
+
</span>
|
|
448
|
+
|
|
449
|
+
|
|
383
450
|
</a>
|
|
384
451
|
</li>
|
|
385
452
|
|
|
386
453
|
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
</ul>
|
|
457
|
+
</nav>
|
|
458
|
+
|
|
459
|
+
</li>
|
|
460
|
+
|
|
461
|
+
|
|
387
462
|
|
|
388
463
|
|
|
389
464
|
|
|
@@ -7838,7 +7913,7 @@
|
|
|
7838
7913
|
<script id="__config" type="application/json">{"base": "/projects/core/en/stable/", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "/projects/core/en/stable/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>
|
|
7839
7914
|
|
|
7840
7915
|
|
|
7841
|
-
<script src="/projects/core/en/stable/assets/javascripts/bundle.
|
|
7916
|
+
<script src="/projects/core/en/stable/assets/javascripts/bundle.ad660dcc.min.js"></script>
|
|
7842
7917
|
|
|
7843
7918
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
7844
7919
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.26">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -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,19 +393,94 @@
|
|
|
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>
|
|
398
474
|
|
|
399
475
|
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
</ul>
|
|
479
|
+
</nav>
|
|
480
|
+
|
|
481
|
+
</li>
|
|
482
|
+
|
|
483
|
+
|
|
400
484
|
|
|
401
485
|
|
|
402
486
|
|
|
@@ -7996,10 +8080,12 @@
|
|
|
7996
8080
|
<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>
|
|
7997
8081
|
|
|
7998
8082
|
|
|
7999
|
-
<script src="../assets/javascripts/bundle.
|
|
8083
|
+
<script src="../assets/javascripts/bundle.ad660dcc.min.js"></script>
|
|
8000
8084
|
|
|
8001
8085
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
8002
8086
|
|
|
8003
8087
|
|
|
8004
|
-
|
|
8088
|
+
<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
|
|
8089
|
+
document$.subscribe(() => { lightbox.reload() });
|
|
8090
|
+
</script></body>
|
|
8005
8091
|
</html>
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
<link rel="icon" href="../assets/favicon.ico">
|
|
19
|
-
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.
|
|
19
|
+
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.26">
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -65,7 +65,16 @@
|
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
<link href="../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
|
|
69
|
+
html.glightbox-open { overflow: initial; height: 100%; }
|
|
70
|
+
.gslide-title { margin-top: 0px; user-select: text; }
|
|
71
|
+
.gslide-desc { color: #666; user-select: text; }
|
|
72
|
+
.gslide-image img { background: white; }
|
|
73
|
+
.gscrollbar-fixer { padding-right: 15px; }
|
|
74
|
+
.gdesc-inner { font-size: 0.75rem; }
|
|
75
|
+
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
|
|
76
|
+
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
|
|
77
|
+
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../assets/javascripts/glightbox.min.js"></script></head>
|
|
69
78
|
|
|
70
79
|
|
|
71
80
|
|
|
@@ -100,7 +109,7 @@
|
|
|
100
109
|
|
|
101
110
|
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
102
111
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
103
|
-
<a href="
|
|
112
|
+
<a href=".." title="Nautobot Documentation" class="md-header__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
104
113
|
|
|
105
114
|
<img src="../assets/nautobot_logo.svg" alt="logo">
|
|
106
115
|
|
|
@@ -189,7 +198,7 @@
|
|
|
189
198
|
|
|
190
199
|
</form>
|
|
191
200
|
<div class="md-search__output">
|
|
192
|
-
<div class="md-search__scrollwrap" data-md-scrollfix>
|
|
201
|
+
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
193
202
|
<div class="md-search-result" data-md-component="search-result">
|
|
194
203
|
<div class="md-search-result__meta">
|
|
195
204
|
Initializing search
|
|
@@ -227,7 +236,7 @@
|
|
|
227
236
|
|
|
228
237
|
|
|
229
238
|
<li class="md-tabs__item">
|
|
230
|
-
<a href="../index.html" class="md-tabs__link">
|
|
239
|
+
<a href="../overview/index.html" class="md-tabs__link">
|
|
231
240
|
|
|
232
241
|
|
|
233
242
|
|
|
@@ -354,7 +363,7 @@
|
|
|
354
363
|
|
|
355
364
|
<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
|
|
356
365
|
<label class="md-nav__title" for="__drawer">
|
|
357
|
-
<a href="
|
|
366
|
+
<a href=".." title="Nautobot Documentation" class="md-nav__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
358
367
|
|
|
359
368
|
<img src="../assets/nautobot_logo.svg" alt="logo">
|
|
360
369
|
|
|
@@ -382,19 +391,94 @@
|
|
|
382
391
|
|
|
383
392
|
|
|
384
393
|
|
|
385
|
-
|
|
386
|
-
|
|
394
|
+
|
|
395
|
+
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
402
|
+
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
|
|
387
406
|
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
<div class="md-nav__link md-nav__container">
|
|
410
|
+
<a href="../overview/index.html" class="md-nav__link ">
|
|
411
|
+
|
|
388
412
|
|
|
389
413
|
<span class="md-ellipsis">
|
|
390
414
|
Overview
|
|
391
415
|
</span>
|
|
392
416
|
|
|
393
417
|
|
|
418
|
+
</a>
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
<label class="md-nav__link " for="__nav_1" id="__nav_1_label" tabindex="0">
|
|
422
|
+
<span class="md-nav__icon md-icon"></span>
|
|
423
|
+
</label>
|
|
424
|
+
|
|
425
|
+
</div>
|
|
426
|
+
|
|
427
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
|
|
428
|
+
<label class="md-nav__title" for="__nav_1">
|
|
429
|
+
<span class="md-nav__icon md-icon"></span>
|
|
430
|
+
Overview
|
|
431
|
+
</label>
|
|
432
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
<li class="md-nav__item">
|
|
441
|
+
<a href="../overview/design_philosophy.html" class="md-nav__link">
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
<span class="md-ellipsis">
|
|
445
|
+
Design Philosophy
|
|
446
|
+
</span>
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
</a>
|
|
450
|
+
</li>
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
<li class="md-nav__item">
|
|
462
|
+
<a href="../overview/application_stack.html" class="md-nav__link">
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
<span class="md-ellipsis">
|
|
466
|
+
Application Stack
|
|
467
|
+
</span>
|
|
468
|
+
|
|
469
|
+
|
|
394
470
|
</a>
|
|
395
471
|
</li>
|
|
396
472
|
|
|
397
473
|
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
</ul>
|
|
477
|
+
</nav>
|
|
478
|
+
|
|
479
|
+
</li>
|
|
480
|
+
|
|
481
|
+
|
|
398
482
|
|
|
399
483
|
|
|
400
484
|
|
|
@@ -7930,10 +8014,12 @@
|
|
|
7930
8014
|
<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>
|
|
7931
8015
|
|
|
7932
8016
|
|
|
7933
|
-
<script src="../assets/javascripts/bundle.
|
|
8017
|
+
<script src="../assets/javascripts/bundle.ad660dcc.min.js"></script>
|
|
7934
8018
|
|
|
7935
8019
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
7936
8020
|
|
|
7937
8021
|
|
|
7938
|
-
|
|
8022
|
+
<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"});
|
|
8023
|
+
document$.subscribe(() => { lightbox.reload() });
|
|
8024
|
+
</script></body>
|
|
7939
8025
|
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" width="44" height="44" viewBox="0 0 44 44" fill="none"><path d="M9.1748 20.2267L16.125 14.4297" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M18.8057 13.9141L25.2415 16.0646" stroke="#B0B0B0" stroke-width="2" stroke-linejoin="round"></path><path d="M35.0116 6.82031L27.6875 15.36" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M10.3127 32.1328H5.6377V39.9244H10.3127V32.1328Z" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M19.6623 24.3359H14.9873V39.9193H19.6623V24.3359Z" stroke="#E07807" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M29.0129 27.4531H24.3379V39.9198H29.0129V27.4531Z" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M38.3625 16.5469H33.6875V39.9219H38.3625V16.5469Z" stroke="#007DFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M7.97531 22.7807C8.83595 22.7807 9.53368 22.083 9.53368 21.2224C9.53368 20.3617 8.83595 19.6641 7.97531 19.6641C7.11467 19.6641 6.41699 20.3617 6.41699 21.2224C6.41699 22.083 7.11467 22.7807 7.97531 22.7807Z" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M17.3249 14.9839C18.1856 14.9839 18.8833 14.2862 18.8833 13.4256C18.8833 12.5649 18.1856 11.8672 17.3249 11.8672C16.4643 11.8672 15.7666 12.5649 15.7666 13.4256C15.7666 14.2862 16.4643 14.9839 17.3249 14.9839Z" stroke="#E07807" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M26.6745 18.105C27.5352 18.105 28.2329 17.4072 28.2329 16.5466C28.2329 15.686 27.5352 14.9883 26.6745 14.9883C25.8139 14.9883 25.1162 15.686 25.1162 16.5466C25.1162 17.4072 25.8139 18.105 26.6745 18.105Z" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M36.0251 7.19477C36.8858 7.19477 37.5835 6.4971 37.5835 5.63646C37.5835 4.77582 36.8858 4.07812 36.0251 4.07812C35.1645 4.07812 34.4668 4.77582 34.4668 5.63646C34.4668 6.4971 35.1645 7.19477 36.0251 7.19477Z" stroke="#007DFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M4.0791 39.9219H39.9208" stroke="#B0B0B0" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg>
|