nautobot 2.0.4__py3-none-any.whl → 2.1.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/circuits/navigation.py +0 -25
- nautobot/circuits/templates/circuits/circuit_retrieve.html +0 -9
- nautobot/circuits/templates/circuits/providernetwork_retrieve.html +0 -2
- nautobot/circuits/tests/test_api.py +79 -2
- nautobot/circuits/tests/test_filters.py +1 -0
- nautobot/core/api/serializers.py +15 -5
- nautobot/core/api/views.py +18 -19
- nautobot/core/choices.py +1 -1
- nautobot/core/filters.py +12 -4
- nautobot/core/jobs/__init__.py +125 -3
- nautobot/core/management/commands/generate_test_data.py +6 -1
- nautobot/core/middleware.py +12 -4
- nautobot/core/models/fields.py +12 -2
- nautobot/core/settings.py +9 -8
- nautobot/core/tables.py +26 -31
- nautobot/core/templates/base_django.html +2 -2
- nautobot/core/templates/buttons/export.html +57 -30
- nautobot/core/templates/generic/object_list.html +2 -2
- nautobot/core/templates/generic/object_retrieve.html +8 -1
- nautobot/core/templates/home.html +5 -5
- nautobot/core/templates/inc/created_updated.html +2 -2
- nautobot/core/templates/inc/footer.html +2 -2
- nautobot/core/templates/inc/javascript.html +0 -10
- nautobot/core/templates/inc/media.html +2 -0
- nautobot/core/templates/inc/nav_menu.html +66 -68
- nautobot/core/templates/inc/object_details_advanced_panel.html +19 -0
- nautobot/core/templates/nautobot_config.py.j2 +10 -4
- nautobot/core/templates/panel_table.html +1 -1
- nautobot/core/templates/template.css +89 -0
- nautobot/core/templates/utilities/templatetags/table_config_form.html +1 -0
- nautobot/core/templatetags/buttons.py +7 -2
- nautobot/core/templatetags/helpers.py +9 -9
- nautobot/core/testing/views.py +34 -4
- nautobot/core/tests/integration/test_home.py +1 -43
- nautobot/core/tests/integration/test_navbar.py +10 -64
- nautobot/core/tests/integration/test_plugin_home.py +4 -5
- nautobot/core/tests/integration/test_plugin_navbar.py +20 -16
- nautobot/core/tests/integration/test_theme.py +4 -0
- nautobot/core/tests/test_api.py +14 -66
- nautobot/core/tests/test_filters.py +127 -0
- nautobot/core/tests/test_forms.py +4 -4
- nautobot/core/tests/test_graphql.py +165 -2
- nautobot/core/tests/test_jobs.py +112 -0
- nautobot/core/tests/test_openapi.py +6 -0
- nautobot/core/tests/test_utils.py +23 -20
- nautobot/core/tests/test_views.py +11 -85
- nautobot/core/urls.py +6 -1
- nautobot/core/utils/data.py +5 -1
- nautobot/core/utils/filtering.py +6 -4
- nautobot/core/utils/lookup.py +28 -0
- nautobot/core/utils/requests.py +2 -3
- nautobot/core/views/__init__.py +3 -4
- nautobot/core/views/generic.py +15 -11
- nautobot/core/views/mixins.py +9 -8
- nautobot/core/views/renderers.py +5 -0
- nautobot/core/views/utils.py +23 -24
- nautobot/dcim/api/serializers.py +8 -4
- nautobot/dcim/models/device_components.py +1 -0
- nautobot/dcim/models/devices.py +7 -6
- nautobot/dcim/navigation.py +10 -165
- nautobot/dcim/templates/dcim/location.html +1 -1
- nautobot/dcim/tests/features/locations.feature +143 -0
- nautobot/dcim/tests/test_api.py +8 -1
- nautobot/dcim/tests/test_filters.py +11 -3
- nautobot/dcim/views.py +5 -6
- nautobot/extras/admin.py +1 -1
- nautobot/extras/api/serializers.py +33 -0
- nautobot/extras/api/urls.py +6 -0
- nautobot/extras/api/views.py +45 -6
- nautobot/extras/context_managers.py +34 -8
- nautobot/extras/factory.py +28 -2
- nautobot/extras/filters/__init__.py +52 -0
- nautobot/extras/filters/mixins.py +4 -29
- nautobot/extras/forms/forms.py +43 -0
- nautobot/extras/jobs.py +39 -17
- nautobot/extras/migrations/0100_fileproxy_job_result.py +32 -0
- nautobot/extras/migrations/0101_externalintegration.py +61 -0
- nautobot/extras/migrations/0102_set_null_objectchange_contenttype.py +32 -0
- nautobot/extras/models/__init__.py +2 -0
- nautobot/extras/models/change_logging.py +2 -2
- nautobot/extras/models/customfields.py +2 -2
- nautobot/extras/models/models.py +101 -18
- nautobot/extras/models/relationships.py +13 -8
- nautobot/extras/navigation.py +17 -29
- nautobot/extras/signals.py +80 -59
- nautobot/extras/tables.py +28 -2
- nautobot/extras/templates/extras/externalintegration_retrieve.html +37 -0
- nautobot/extras/templates/extras/inc/jobresult.html +24 -0
- nautobot/extras/templates/extras/jobresult.html +24 -0
- nautobot/extras/templatetags/computed_fields.py +6 -13
- nautobot/extras/templatetags/custom_links.py +19 -12
- nautobot/extras/templatetags/job_buttons.py +34 -19
- nautobot/extras/templatetags/plugins.py +1 -1
- nautobot/extras/test_jobs/file_output.py +16 -0
- nautobot/extras/tests/test_api.py +92 -0
- nautobot/extras/tests/test_context_managers.py +94 -4
- nautobot/extras/tests/test_customfields.py +1 -1
- nautobot/extras/tests/test_filters.py +64 -2
- nautobot/extras/tests/test_jobs.py +75 -22
- nautobot/extras/tests/test_models.py +34 -0
- nautobot/extras/tests/test_relationships.py +2 -2
- nautobot/extras/tests/test_views.py +204 -4
- nautobot/extras/tests/test_webhooks.py +61 -25
- nautobot/extras/urls.py +1 -0
- nautobot/extras/views.py +27 -13
- nautobot/extras/webhooks.py +16 -25
- nautobot/ipam/fields.py +5 -0
- nautobot/ipam/forms.py +16 -0
- nautobot/ipam/models.py +13 -2
- nautobot/ipam/navigation.py +2 -59
- nautobot/ipam/tables.py +1 -1
- nautobot/ipam/templates/ipam/ipaddress.html +0 -9
- nautobot/ipam/templates/ipam/prefix.html +0 -9
- nautobot/ipam/tests/features/prefixes.feature +134 -0
- nautobot/ipam/tests/test_filters.py +5 -10
- nautobot/ipam/tests/test_models.py +7 -0
- nautobot/ipam/tests/test_views.py +8 -1
- nautobot/ipam/views.py +99 -58
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css +191 -191
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap-theme.min.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +874 -881
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.min.css.map +1 -1
- nautobot/project-static/css/base.css +138 -99
- nautobot/project-static/css/dark.css +65 -6
- nautobot/project-static/docs/404.html +45 -17
- nautobot/project-static/docs/apps/index.html +45 -17
- nautobot/project-static/docs/apps/nautobot-apps.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +1598 -1458
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +229 -152
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +46 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +354 -433
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +67 -39
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +2083 -2234
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +1389 -1247
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +129 -111
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +3601 -3457
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +45 -17
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +320 -284
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +3863 -3801
- nautobot/project-static/docs/development/apps/api/configuration-view.html +45 -17
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +45 -17
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +45 -17
- nautobot/project-static/docs/development/apps/api/models/global-search.html +45 -17
- nautobot/project-static/docs/development/apps/api/models/graphql.html +45 -17
- nautobot/project-static/docs/development/apps/api/models/index.html +45 -17
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +45 -17
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +45 -17
- nautobot/project-static/docs/development/apps/api/prometheus.html +45 -17
- nautobot/project-static/docs/development/apps/api/setup.html +45 -17
- nautobot/project-static/docs/development/apps/api/testing.html +45 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +45 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +45 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +45 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +45 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-detail-views.html +45 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/tabs.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/base-template.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/index.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/notes.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/urls.html +45 -17
- nautobot/project-static/docs/development/apps/api/views/view-overrides.html +45 -17
- nautobot/project-static/docs/development/apps/index.html +45 -17
- nautobot/project-static/docs/development/apps/migration/code-updates.html +45 -17
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +45 -17
- nautobot/project-static/docs/development/apps/migration/from-v1.html +45 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +45 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +45 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +45 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +45 -17
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +45 -17
- nautobot/project-static/docs/development/core/application-registry.html +45 -17
- nautobot/project-static/docs/development/core/best-practices.html +45 -17
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +45 -17
- nautobot/project-static/docs/development/core/extending-models.html +45 -17
- nautobot/project-static/docs/development/core/generic-views.html +45 -17
- nautobot/project-static/docs/development/core/getting-started.html +45 -17
- nautobot/project-static/docs/development/core/homepage.html +45 -17
- nautobot/project-static/docs/development/core/index.html +45 -17
- nautobot/project-static/docs/development/core/model-features.html +45 -17
- nautobot/project-static/docs/development/core/natural-keys.html +45 -17
- nautobot/project-static/docs/development/core/navigation-menu.html +45 -22
- nautobot/project-static/docs/development/core/react-ui.html +45 -17
- nautobot/project-static/docs/development/core/release-checklist.html +46 -18
- nautobot/project-static/docs/development/core/role-internals.html +45 -17
- nautobot/project-static/docs/development/core/style-guide.html +45 -17
- nautobot/project-static/docs/development/core/templates.html +45 -17
- nautobot/project-static/docs/development/core/testing.html +45 -17
- nautobot/project-static/docs/development/core/user-preferences.html +45 -17
- nautobot/project-static/docs/development/index.html +45 -17
- nautobot/project-static/docs/development/jobs/index.html +281 -235
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +45 -17
- nautobot/project-static/docs/index.html +45 -17
- nautobot/project-static/docs/media/nautobot_application_stack_low_level.png +0 -0
- nautobot/project-static/docs/media/nautobot_application_stack_low_level.txt +1 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/release-notes/index.html +48 -20
- nautobot/project-static/docs/release-notes/version-1.0.html +45 -17
- nautobot/project-static/docs/release-notes/version-1.1.html +45 -17
- nautobot/project-static/docs/release-notes/version-1.2.html +45 -17
- nautobot/project-static/docs/release-notes/version-1.3.html +45 -17
- nautobot/project-static/docs/release-notes/version-1.4.html +45 -17
- nautobot/project-static/docs/release-notes/version-1.5.html +45 -17
- nautobot/project-static/docs/release-notes/version-1.6.html +46 -18
- nautobot/project-static/docs/release-notes/version-2.0.html +372 -199
- nautobot/project-static/docs/release-notes/version-2.1.html +5724 -0
- nautobot/project-static/docs/requirements.txt +1 -1
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +247 -237
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +45 -17
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +45 -17
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +45 -17
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +45 -17
- nautobot/project-static/docs/user-guide/administration/configuration/node-configuration.html +45 -17
- nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +110 -44
- nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +45 -17
- nautobot/project-static/docs/user-guide/administration/guides/caching.html +48 -20
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +45 -17
- nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +45 -17
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +45 -17
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +45 -17
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +45 -17
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +49 -20
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/docker.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/index.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +45 -17
- nautobot/project-static/docs/user-guide/administration/installation/services.html +45 -17
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +45 -17
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +45 -17
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +45 -17
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +45 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +45 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +45 -17
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +45 -17
- nautobot/project-static/docs/user-guide/index.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +111 -17
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +48 -20
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +5359 -0
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +48 -20
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +114 -45
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +45 -17
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +45 -17
- nautobot/project-static/fonts/UFL.txt +96 -0
- nautobot/project-static/fonts/Ubuntu-Bold.woff2 +0 -0
- nautobot/project-static/fonts/Ubuntu-BoldItalic.woff2 +0 -0
- nautobot/project-static/fonts/Ubuntu-Italic.woff2 +0 -0
- nautobot/project-static/fonts/Ubuntu-Medium.woff2 +0 -0
- nautobot/project-static/fonts/Ubuntu-MediumItalic.woff2 +0 -0
- nautobot/project-static/fonts/Ubuntu-Regular.woff2 +0 -0
- nautobot/project-static/fonts/UbuntuMono-Bold.woff2 +0 -0
- nautobot/project-static/fonts/UbuntuMono-BoldItalic.woff2 +0 -0
- nautobot/project-static/fonts/UbuntuMono-Italic.woff2 +0 -0
- nautobot/project-static/fonts/UbuntuMono-Regular.woff2 +0 -0
- nautobot/project-static/img/dark-theme.png +0 -0
- nautobot/project-static/img/light-theme.png +0 -0
- nautobot/project-static/img/nautobot_chevron.svg +5 -0
- nautobot/project-static/img/nautobot_chevron_header.svg +5 -0
- nautobot/project-static/img/system-theme.png +0 -0
- nautobot/tenancy/navigation.py +0 -13
- nautobot/ui/package-lock.json +2 -2
- nautobot/ui/package.json +1 -1
- nautobot/users/admin.py +44 -0
- nautobot/users/migrations/0007_alter_objectpermission_object_types.py +33 -0
- nautobot/users/models.py +3 -2
- nautobot/virtualization/navigation.py +1 -33
- nautobot/virtualization/tests/test_api.py +1 -1
- nautobot/virtualization/tests/test_filters.py +1 -1
- {nautobot-2.0.4.dist-info → nautobot-2.1.0b1.dist-info}/METADATA +2 -2
- {nautobot-2.0.4.dist-info → nautobot-2.1.0b1.dist-info}/RECORD +405 -786
- CHANGELOG.md +0 -3
- CONTRIBUTING.md +0 -3
- NOTICE +0 -8
- nautobot/docs/apps/index.md +0 -22
- nautobot/docs/apps/nautobot-apps.md +0 -10
- nautobot/docs/assets/app-icons/icon-ChatOps.png +0 -0
- nautobot/docs/assets/app-icons/icon-DataValidationEngine.png +0 -0
- nautobot/docs/assets/app-icons/icon-DeviceLifecycle.png +0 -0
- nautobot/docs/assets/app-icons/icon-DeviceOnboarding.png +0 -0
- nautobot/docs/assets/app-icons/icon-FirewallModels.png +0 -0
- nautobot/docs/assets/app-icons/icon-GoldenConfiguration.png +0 -0
- nautobot/docs/assets/app-icons/icon-NautobotPluginNornir.png +0 -0
- nautobot/docs/assets/app-icons/icon-SSoT.png +0 -0
- nautobot/docs/assets/extra.css +0 -139
- nautobot/docs/assets/favicon.ico +0 -0
- nautobot/docs/assets/nautobot_logo.png +0 -0
- nautobot/docs/assets/nautobot_logo.svg +0 -131
- nautobot/docs/assets/networktocode_bw.png +0 -0
- nautobot/docs/assets/overrides/partials/copyright.html +0 -20
- nautobot/docs/development/apps/api/configuration-view.md +0 -35
- nautobot/docs/development/apps/api/database-backend-config.md +0 -26
- nautobot/docs/development/apps/api/models/django-admin.md +0 -20
- nautobot/docs/development/apps/api/models/global-search.md +0 -11
- nautobot/docs/development/apps/api/models/graphql.md +0 -97
- nautobot/docs/development/apps/api/models/index.md +0 -81
- nautobot/docs/development/apps/api/nautobot-app-config.md +0 -84
- nautobot/docs/development/apps/api/platform-features/custom-validators.md +0 -30
- nautobot/docs/development/apps/api/platform-features/filter-extensions.md +0 -49
- nautobot/docs/development/apps/api/platform-features/git-repository-content.md +0 -62
- nautobot/docs/development/apps/api/platform-features/index.md +0 -1
- nautobot/docs/development/apps/api/platform-features/jinja2-filters.md +0 -28
- nautobot/docs/development/apps/api/platform-features/jobs.md +0 -29
- nautobot/docs/development/apps/api/platform-features/populating-extensibility-features.md +0 -58
- nautobot/docs/development/apps/api/platform-features/secrets-providers.md +0 -64
- nautobot/docs/development/apps/api/platform-features/uniquely-identify-objects.md +0 -63
- nautobot/docs/development/apps/api/prometheus.md +0 -25
- nautobot/docs/development/apps/api/setup.md +0 -132
- nautobot/docs/development/apps/api/testing.md +0 -55
- nautobot/docs/development/apps/api/ui-extensions/banners.md +0 -26
- nautobot/docs/development/apps/api/ui-extensions/home-page.md +0 -9
- nautobot/docs/development/apps/api/ui-extensions/index.md +0 -1
- nautobot/docs/development/apps/api/ui-extensions/navigation.md +0 -15
- nautobot/docs/development/apps/api/ui-extensions/object-detail-views.md +0 -74
- nautobot/docs/development/apps/api/ui-extensions/tabs.md +0 -52
- nautobot/docs/development/apps/api/views/base-template.md +0 -38
- nautobot/docs/development/apps/api/views/core-view-overrides.md +0 -26
- nautobot/docs/development/apps/api/views/django-generic-views.md +0 -23
- nautobot/docs/development/apps/api/views/help-documentation.md +0 -16
- nautobot/docs/development/apps/api/views/index.md +0 -3
- nautobot/docs/development/apps/api/views/nautobot-generic-views.md +0 -35
- nautobot/docs/development/apps/api/views/nautobotuiviewset.md +0 -147
- nautobot/docs/development/apps/api/views/nautobotuiviewsetrouter.md +0 -41
- nautobot/docs/development/apps/api/views/notes.md +0 -25
- nautobot/docs/development/apps/api/views/rest-api.md +0 -64
- nautobot/docs/development/apps/api/views/urls.md +0 -26
- nautobot/docs/development/apps/api/views/view-overrides.md +0 -50
- nautobot/docs/development/apps/index.md +0 -75
- nautobot/docs/development/apps/migration/code-updates.md +0 -160
- nautobot/docs/development/apps/migration/dependency-updates.md +0 -13
- nautobot/docs/development/apps/migration/from-v1.md +0 -56
- nautobot/docs/development/apps/migration/model-updates/dcim.md +0 -285
- nautobot/docs/development/apps/migration/model-updates/extras.md +0 -30
- nautobot/docs/development/apps/migration/model-updates/global.md +0 -5
- nautobot/docs/development/apps/migration/model-updates/ipam.md +0 -22
- nautobot/docs/development/apps/porting-from-netbox.md +0 -23
- nautobot/docs/development/core/application-registry.md +0 -216
- nautobot/docs/development/core/best-practices.md +0 -469
- nautobot/docs/development/core/docker-compose-advanced-use-cases.md +0 -228
- nautobot/docs/development/core/extending-models.md +0 -93
- nautobot/docs/development/core/generic-views.md +0 -65
- nautobot/docs/development/core/getting-started.md +0 -859
- nautobot/docs/development/core/homepage.md +0 -63
- nautobot/docs/development/core/index.md +0 -334
- nautobot/docs/development/core/model-features.md +0 -44
- nautobot/docs/development/core/natural-keys.md +0 -121
- nautobot/docs/development/core/navigation-menu.md +0 -142
- nautobot/docs/development/core/react-ui.md +0 -137
- nautobot/docs/development/core/release-checklist.md +0 -312
- nautobot/docs/development/core/role-internals.md +0 -28
- nautobot/docs/development/core/style-guide.md +0 -200
- nautobot/docs/development/core/templates.md +0 -101
- nautobot/docs/development/core/testing.md +0 -238
- nautobot/docs/development/core/user-preferences.md +0 -11
- nautobot/docs/development/index.md +0 -1
- nautobot/docs/development/jobs/index.md +0 -835
- nautobot/docs/development/jobs/migration/from-v1.md +0 -160
- nautobot/docs/generate_code_reference_pages.py +0 -20
- nautobot/docs/img/edge_dev_circuit_relationship.png +0 -0
- nautobot/docs/img/leaf_dev_no_circuit_relationship.png +0 -0
- nautobot/docs/img/relationship_w_json_filter.png +0 -0
- nautobot/docs/index.md +0 -105
- nautobot/docs/media/admin_ui_run_permission.png +0 -0
- nautobot/docs/media/development/homepage_changelog_panel.png +0 -0
- nautobot/docs/media/development/homepage_dcim_panel.png +0 -0
- nautobot/docs/media/development/index_bug_wf.jpg +0 -0
- nautobot/docs/media/development/index_feature_request_wf.jpg +0 -0
- nautobot/docs/media/development/index_release_cadence.drawio +0 -90
- nautobot/docs/media/development/index_release_cadence.jpg +0 -0
- nautobot/docs/media/installation/nautobot_ui_admin.png +0 -0
- nautobot/docs/media/installation/nautobot_ui_guest.png +0 -0
- nautobot/docs/media/models/dcim_cable_trace.png +0 -0
- nautobot/docs/media/models/dcim_cable_trace_circuit.png +0 -0
- nautobot/docs/media/models/dynamicgroup_filtering_01.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_1_01.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_1_02.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_1_03.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_1_04.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_1_05.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_01.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_02.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_03.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_04.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_05.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_06.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_advanced_2_07.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_basic_01.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_basic_02.png +0 -0
- nautobot/docs/media/models/dynamicgroup_workflow_basic_03.png +0 -0
- nautobot/docs/media/models/jobbutton_form.png +0 -0
- nautobot/docs/media/models/site_jobbuttons.png +0 -0
- nautobot/docs/media/nautobot_application_stack_high_level.drawio +0 -1
- nautobot/docs/media/nautobot_application_stack_high_level.png +0 -0
- nautobot/docs/media/nautobot_application_stack_low_level.drawio +0 -1
- nautobot/docs/media/nautobot_application_stack_low_level.png +0 -0
- nautobot/docs/media/nautobot_chatops.gif +0 -0
- nautobot/docs/media/nautobot_config_context.gif +0 -0
- nautobot/docs/media/nautobot_golden_config.gif +0 -0
- nautobot/docs/media/nautobot_graphql.gif +0 -0
- nautobot/docs/media/nautobot_mainpage.gif +0 -0
- nautobot/docs/media/nautobot_prefix_hierarchy.gif +0 -0
- nautobot/docs/media/plugins/plugin_admin_config.png +0 -0
- nautobot/docs/media/plugins/plugin_admin_ui.png +0 -0
- nautobot/docs/media/plugins/plugin_rest_api_endpoint.png +0 -0
- nautobot/docs/media/power_distribution.png +0 -0
- nautobot/docs/media/ss_config_contexts.png +0 -0
- nautobot/docs/media/ss_graphiql.png +0 -0
- nautobot/docs/media/ss_main_page.png +0 -0
- nautobot/docs/media/ss_plugin_chatops.png +0 -0
- nautobot/docs/media/ss_plugin_golden_config.png +0 -0
- nautobot/docs/media/ss_prefix_hierarchy.png +0 -0
- nautobot/docs/media/user-guide/administration/guides/s3-django-storage/user-guide-s3-1.png +0 -0
- nautobot/docs/media/user-guide/administration/guides/s3-django-storage/user-guide-s3-2.png +0 -0
- nautobot/docs/media/user-guide/administration/upgrading/from-v1/ipam/tenant-affinity.png +0 -0
- nautobot/docs/nautobot_logo.png +0 -0
- nautobot/docs/nautobot_logo.svg +0 -131
- nautobot/docs/release-notes/index.md +0 -3
- nautobot/docs/release-notes/version-1.0.md +0 -530
- nautobot/docs/release-notes/version-1.1.md +0 -337
- nautobot/docs/release-notes/version-1.2.md +0 -509
- nautobot/docs/release-notes/version-1.3.md +0 -554
- nautobot/docs/release-notes/version-1.4.md +0 -677
- nautobot/docs/release-notes/version-1.5.md +0 -840
- nautobot/docs/release-notes/version-1.6.md +0 -290
- nautobot/docs/release-notes/version-2.0.md +0 -1359
- nautobot/docs/requirements.txt +0 -12
- nautobot/docs/user-guide/administration/configuration/authentication/ldap.md +0 -286
- nautobot/docs/user-guide/administration/configuration/authentication/remote.md +0 -46
- nautobot/docs/user-guide/administration/configuration/authentication/sso.md +0 -528
- nautobot/docs/user-guide/administration/configuration/index.md +0 -190
- nautobot/docs/user-guide/administration/configuration/node-configuration.md +0 -31
- nautobot/docs/user-guide/administration/configuration/optional-settings.md +0 -1302
- nautobot/docs/user-guide/administration/configuration/required-settings.md +0 -244
- nautobot/docs/user-guide/administration/guides/caching.md +0 -108
- nautobot/docs/user-guide/administration/guides/celery-queues.md +0 -42
- nautobot/docs/user-guide/administration/guides/healthcheck.md +0 -11
- nautobot/docs/user-guide/administration/guides/permissions.md +0 -98
- nautobot/docs/user-guide/administration/guides/prometheus-metrics.md +0 -55
- nautobot/docs/user-guide/administration/guides/replicating-nautobot.md +0 -70
- nautobot/docs/user-guide/administration/guides/s3-django-storage.md +0 -145
- nautobot/docs/user-guide/administration/installation/app-install.md +0 -94
- nautobot/docs/user-guide/administration/installation/docker.md +0 -286
- nautobot/docs/user-guide/administration/installation/external-authentication.md +0 -9
- nautobot/docs/user-guide/administration/installation/http-server.md +0 -279
- nautobot/docs/user-guide/administration/installation/index.md +0 -101
- nautobot/docs/user-guide/administration/installation/install_system.md +0 -493
- nautobot/docs/user-guide/administration/installation/nautobot.md +0 -367
- nautobot/docs/user-guide/administration/installation/selinux-troubleshooting.md +0 -194
- nautobot/docs/user-guide/administration/installation/services.md +0 -340
- nautobot/docs/user-guide/administration/migration/migrating-from-netbox.md +0 -336
- nautobot/docs/user-guide/administration/migration/migrating-from-postgresql.md +0 -122
- nautobot/docs/user-guide/administration/tools/nautobot-server.md +0 -858
- nautobot/docs/user-guide/administration/tools/nautobot-shell.md +0 -263
- nautobot/docs/user-guide/administration/upgrading/database-backup.md +0 -11
- nautobot/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.md +0 -55
- nautobot/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.md +0 -73
- nautobot/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.md +0 -211
- nautobot/docs/user-guide/administration/upgrading/from-v1/ipam/index.md +0 -16
- nautobot/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.md +0 -157
- nautobot/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.md +0 -153
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-api-behavior-changes.yaml +0 -82
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-api-removed-fields.yaml +0 -175
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-api-renamed-fields.yaml +0 -124
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-location-changes.yaml +0 -241
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-removals.yaml +0 -57
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-renames.yaml +0 -5
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-database-behavior-changes.yaml +0 -76
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-database-removed-fields.yaml +0 -202
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-database-renamed-fields.yaml +0 -343
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-filters-corrected-fields.yaml +0 -31
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-filters-enhanced-fields.yaml +0 -244
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-filters-removed-fields.yaml +0 -595
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-filters-renamed-fields.yaml +0 -253
- nautobot/docs/user-guide/administration/upgrading/from-v1/tables/v2-logging-renamed-loggers.yaml +0 -23
- nautobot/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.md +0 -574
- nautobot/docs/user-guide/administration/upgrading/upgrading.md +0 -127
- nautobot/docs/user-guide/core-data-model/circuits/circuit.md +0 -19
- nautobot/docs/user-guide/core-data-model/circuits/circuittermination.md +0 -10
- nautobot/docs/user-guide/core-data-model/circuits/circuittype.md +0 -8
- nautobot/docs/user-guide/core-data-model/circuits/provider.md +0 -5
- nautobot/docs/user-guide/core-data-model/circuits/providernetwork.md +0 -7
- nautobot/docs/user-guide/core-data-model/dcim/cable.md +0 -43
- nautobot/docs/user-guide/core-data-model/dcim/consoleport.md +0 -8
- nautobot/docs/user-guide/core-data-model/dcim/consoleporttemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/consoleserverport.md +0 -8
- nautobot/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/device.md +0 -29
- nautobot/docs/user-guide/core-data-model/dcim/devicebay.md +0 -11
- nautobot/docs/user-guide/core-data-model/dcim/devicebaytemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/deviceredundancygroup.md +0 -279
- nautobot/docs/user-guide/core-data-model/dcim/devicetype.md +0 -44
- nautobot/docs/user-guide/core-data-model/dcim/frontport.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/frontporttemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/interface.md +0 -34
- nautobot/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.md +0 -24
- nautobot/docs/user-guide/core-data-model/dcim/interfacetemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/inventoryitem.md +0 -10
- nautobot/docs/user-guide/core-data-model/dcim/location.md +0 -15
- nautobot/docs/user-guide/core-data-model/dcim/locationtype.md +0 -43
- nautobot/docs/user-guide/core-data-model/dcim/manufacturer.md +0 -3
- nautobot/docs/user-guide/core-data-model/dcim/platform.md +0 -19
- nautobot/docs/user-guide/core-data-model/dcim/powerfeed.md +0 -25
- nautobot/docs/user-guide/core-data-model/dcim/poweroutlet.md +0 -14
- nautobot/docs/user-guide/core-data-model/dcim/poweroutlettemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/powerpanel.md +0 -12
- nautobot/docs/user-guide/core-data-model/dcim/powerport.md +0 -15
- nautobot/docs/user-guide/core-data-model/dcim/powerporttemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/rack.md +0 -41
- nautobot/docs/user-guide/core-data-model/dcim/rackgroup.md +0 -7
- nautobot/docs/user-guide/core-data-model/dcim/rackreservation.md +0 -3
- nautobot/docs/user-guide/core-data-model/dcim/rearport.md +0 -9
- nautobot/docs/user-guide/core-data-model/dcim/rearporttemplate.md +0 -6
- nautobot/docs/user-guide/core-data-model/dcim/virtualchassis.md +0 -8
- nautobot/docs/user-guide/core-data-model/extras/configcontext.md +0 -78
- nautobot/docs/user-guide/core-data-model/extras/configcontextschema.md +0 -73
- nautobot/docs/user-guide/core-data-model/ipam/ipaddress.md +0 -69
- nautobot/docs/user-guide/core-data-model/ipam/media/ipam_namespace_documentation.drawio +0 -1
- nautobot/docs/user-guide/core-data-model/ipam/media/ipam_namespace_documentation.drawio.svg +0 -4
- nautobot/docs/user-guide/core-data-model/ipam/namespace.md +0 -18
- nautobot/docs/user-guide/core-data-model/ipam/prefix.md +0 -65
- nautobot/docs/user-guide/core-data-model/ipam/rir.md +0 -10
- nautobot/docs/user-guide/core-data-model/ipam/routetarget.md +0 -5
- nautobot/docs/user-guide/core-data-model/ipam/service.md +0 -8
- nautobot/docs/user-guide/core-data-model/ipam/vlan.md +0 -17
- nautobot/docs/user-guide/core-data-model/ipam/vlangroup.md +0 -5
- nautobot/docs/user-guide/core-data-model/ipam/vrf.md +0 -15
- nautobot/docs/user-guide/core-data-model/tenancy/tenant.md +0 -20
- nautobot/docs/user-guide/core-data-model/tenancy/tenantgroup.md +0 -5
- nautobot/docs/user-guide/core-data-model/virtualization/cluster.md +0 -5
- nautobot/docs/user-guide/core-data-model/virtualization/clustergroup.md +0 -3
- nautobot/docs/user-guide/core-data-model/virtualization/clustertype.md +0 -3
- nautobot/docs/user-guide/core-data-model/virtualization/virtualmachine.md +0 -17
- nautobot/docs/user-guide/core-data-model/virtualization/vminterface.md +0 -19
- nautobot/docs/user-guide/feature-guides/custom-fields.md +0 -350
- nautobot/docs/user-guide/feature-guides/getting-started/creating-devices.md +0 -130
- nautobot/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.md +0 -113
- nautobot/docs/user-guide/feature-guides/getting-started/index.md +0 -29
- nautobot/docs/user-guide/feature-guides/getting-started/interfaces.md +0 -100
- nautobot/docs/user-guide/feature-guides/getting-started/ipam.md +0 -104
- nautobot/docs/user-guide/feature-guides/getting-started/platforms.md +0 -78
- nautobot/docs/user-guide/feature-guides/getting-started/search-bar.md +0 -40
- nautobot/docs/user-guide/feature-guides/getting-started/tenants.md +0 -40
- nautobot/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.md +0 -87
- nautobot/docs/user-guide/feature-guides/git-data-source.md +0 -307
- nautobot/docs/user-guide/feature-guides/graphql.md +0 -342
- nautobot/docs/user-guide/feature-guides/images/custom-fields/custom_field_choices.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/custom-fields/custom_field_detail_grouped.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/custom-fields/custom_field_detail_label.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/custom-fields/custom_field_edit.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/custom-fields/custom_field_select.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/1-create-location-type.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/10-add-platform.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/11-platforms-page.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/12-add-tenant.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/13-assign-tenant-to-device.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/14-assign-tenant-to-device-2.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/15-create-device-type.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/16-interface-templates.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/17-templated-interfaces.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/18-assign-device-type.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/19-edit-ints-for-lag.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/2-create-manufacturer.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/20-ints-int-lag.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/21-device-type.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/22-create-vlans.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/23-create-vlans-2.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/24-vlan-main-page.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/25-add-vlan-to-interface.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/26-add-vlan-to-interface-2.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/27-add-rir.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/3-create-role.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/30-add-prefix.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/32-add-ip-addr.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/33-assign-address.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/34-assign-address-2.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/35-assign-address-3.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/36-verify-address.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/37-verify-prefix.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/38-verify-prefix2.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/39-address-search.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/4-create-device-type.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/40-addr-main-page.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/41-device-search-results.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/42-address-search-v2.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/43-get-to-device-main-page.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/44-add-platform.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/5-create-device.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/6-create-location.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/7-location-type-page.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/getting-started-nautobot-ui/8-location-page.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/01-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/02-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/03-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/04-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/05-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/06-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/07-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/08-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/09-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/10-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/11-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/12-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/13-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/14-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/15-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/16-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/17-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/git-as-data-source/18-git-data-source.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/00-graphiql.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/01-graphiql-explorer.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/02-graphiql-explorer-device-query.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/03-graphiql-explorer-device-attributes.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/04-graphql-query-01.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/05-graphiql-autocomplete.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/06-graphql-query-02.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/07-graphql-query-03.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/08-graphql-query-04.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/09-graphql-query-05.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/10-graphql-swagger.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/graphql/11-graphql-query-06.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/ip-address-merge-tool/ip_merge_button.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/ip-address-merge-tool/merge_button.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/ip-address-merge-tool/merge_view.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/ip-address-merge-tool/no_more_dup_ips.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/ip-address-merge-tool/skip_button.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/ip-address-merge-tool/unselect_ips.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/01-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/02-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/03-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/04-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/05-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/06-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/07-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/08-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/09-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/10-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/images/relationships/11-relationships.png +0 -0
- nautobot/docs/user-guide/feature-guides/ip-address-merge-tool.md +0 -63
- nautobot/docs/user-guide/feature-guides/relationships.md +0 -125
- nautobot/docs/user-guide/index.md +0 -1
- nautobot/docs/user-guide/platform-functionality/change-logging.md +0 -21
- nautobot/docs/user-guide/platform-functionality/computedfield.md +0 -89
- nautobot/docs/user-guide/platform-functionality/customfield.md +0 -123
- nautobot/docs/user-guide/platform-functionality/customlink.md +0 -59
- nautobot/docs/user-guide/platform-functionality/dynamicgroup.md +0 -660
- nautobot/docs/user-guide/platform-functionality/exporttemplate.md +0 -55
- nautobot/docs/user-guide/platform-functionality/gitrepository.md +0 -353
- nautobot/docs/user-guide/platform-functionality/graphql.md +0 -259
- nautobot/docs/user-guide/platform-functionality/graphqlquery.md +0 -28
- nautobot/docs/user-guide/platform-functionality/imageattachment.md +0 -10
- nautobot/docs/user-guide/platform-functionality/jobs/index.md +0 -193
- nautobot/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.md +0 -78
- nautobot/docs/user-guide/platform-functionality/jobs/jobbutton.md +0 -79
- nautobot/docs/user-guide/platform-functionality/jobs/jobhook.md +0 -15
- nautobot/docs/user-guide/platform-functionality/jobs/models.md +0 -65
- nautobot/docs/user-guide/platform-functionality/napalm.md +0 -85
- nautobot/docs/user-guide/platform-functionality/note.md +0 -7
- nautobot/docs/user-guide/platform-functionality/relationship.md +0 -158
- nautobot/docs/user-guide/platform-functionality/rest-api/authentication.md +0 -67
- nautobot/docs/user-guide/platform-functionality/rest-api/filtering.md +0 -142
- nautobot/docs/user-guide/platform-functionality/rest-api/overview.md +0 -1045
- nautobot/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.md +0 -9
- nautobot/docs/user-guide/platform-functionality/role.md +0 -17
- nautobot/docs/user-guide/platform-functionality/secret.md +0 -136
- nautobot/docs/user-guide/platform-functionality/status.md +0 -92
- nautobot/docs/user-guide/platform-functionality/tag.md +0 -62
- nautobot/docs/user-guide/platform-functionality/template-filters.md +0 -306
- nautobot/docs/user-guide/platform-functionality/users/objectpermission.md +0 -56
- nautobot/docs/user-guide/platform-functionality/users/token.md +0 -21
- nautobot/docs/user-guide/platform-functionality/webhook.md +0 -137
- nautobot/project-static/docs/media/nautobot_application_stack_low_level.drawio +0 -1
- nautobot/project-static/docs/media/nautobot_chatops.gif +0 -0
- nautobot/project-static/docs/media/nautobot_config_context.gif +0 -0
- nautobot/project-static/docs/media/nautobot_golden_config.gif +0 -0
- nautobot/project-static/docs/media/nautobot_graphql.gif +0 -0
- nautobot/project-static/docs/media/nautobot_mainpage.gif +0 -0
- nautobot/project-static/docs/media/nautobot_prefix_hierarchy.gif +0 -0
- nautobot-2.0.4.dist-info/LICENSE.txt +0 -177
- /LICENSE.txt → /nautobot-2.1.0b1.dist-info/LICENSE.txt +0 -0
- {nautobot-2.0.4.dist-info → nautobot-2.1.0b1.dist-info}/WHEEL +0 -0
- {nautobot-2.0.4.dist-info → nautobot-2.1.0b1.dist-info}/entry_points.txt +0 -0
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<link rel="next" href="choices.html">
|
|
18
18
|
|
|
19
19
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
20
|
-
<meta name="generator" content="mkdocs-1.
|
|
20
|
+
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.1.21">
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
|
|
@@ -2659,6 +2659,20 @@
|
|
|
2659
2659
|
|
|
2660
2660
|
|
|
2661
2661
|
|
|
2662
|
+
<li class="md-nav__item">
|
|
2663
|
+
<a href="../../../user-guide/platform-functionality/externalintegration.html" class="md-nav__link">
|
|
2664
|
+
External Integrations
|
|
2665
|
+
</a>
|
|
2666
|
+
</li>
|
|
2667
|
+
|
|
2668
|
+
|
|
2669
|
+
|
|
2670
|
+
|
|
2671
|
+
|
|
2672
|
+
|
|
2673
|
+
|
|
2674
|
+
|
|
2675
|
+
|
|
2662
2676
|
<li class="md-nav__item">
|
|
2663
2677
|
<a href="../../../user-guide/platform-functionality/gitrepository.html" class="md-nav__link">
|
|
2664
2678
|
Git Repositories
|
|
@@ -2679,7 +2693,7 @@
|
|
|
2679
2693
|
|
|
2680
2694
|
|
|
2681
2695
|
|
|
2682
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
2696
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_9" >
|
|
2683
2697
|
|
|
2684
2698
|
|
|
2685
2699
|
|
|
@@ -2688,14 +2702,14 @@
|
|
|
2688
2702
|
<div class="md-nav__link md-nav__link--index ">
|
|
2689
2703
|
<a href="../../../user-guide/platform-functionality/graphql.html">GraphQL</a>
|
|
2690
2704
|
|
|
2691
|
-
<label for="
|
|
2705
|
+
<label for="__nav_2_4_9">
|
|
2692
2706
|
<span class="md-nav__icon md-icon"></span>
|
|
2693
2707
|
</label>
|
|
2694
2708
|
|
|
2695
2709
|
</div>
|
|
2696
2710
|
|
|
2697
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
2698
|
-
<label class="md-nav__title" for="
|
|
2711
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_9_label" aria-expanded="false">
|
|
2712
|
+
<label class="md-nav__title" for="__nav_2_4_9">
|
|
2699
2713
|
<span class="md-nav__icon md-icon"></span>
|
|
2700
2714
|
GraphQL
|
|
2701
2715
|
</label>
|
|
@@ -2747,7 +2761,7 @@
|
|
|
2747
2761
|
|
|
2748
2762
|
|
|
2749
2763
|
|
|
2750
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
2764
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_11" >
|
|
2751
2765
|
|
|
2752
2766
|
|
|
2753
2767
|
|
|
@@ -2756,14 +2770,14 @@
|
|
|
2756
2770
|
<div class="md-nav__link md-nav__link--index ">
|
|
2757
2771
|
<a href="../../../user-guide/platform-functionality/jobs/index.html">Jobs</a>
|
|
2758
2772
|
|
|
2759
|
-
<label for="
|
|
2773
|
+
<label for="__nav_2_4_11">
|
|
2760
2774
|
<span class="md-nav__icon md-icon"></span>
|
|
2761
2775
|
</label>
|
|
2762
2776
|
|
|
2763
2777
|
</div>
|
|
2764
2778
|
|
|
2765
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
2766
|
-
<label class="md-nav__title" for="
|
|
2779
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_11_label" aria-expanded="false">
|
|
2780
|
+
<label class="md-nav__title" for="__nav_2_4_11">
|
|
2767
2781
|
<span class="md-nav__icon md-icon"></span>
|
|
2768
2782
|
Jobs
|
|
2769
2783
|
</label>
|
|
@@ -2885,7 +2899,7 @@
|
|
|
2885
2899
|
|
|
2886
2900
|
|
|
2887
2901
|
|
|
2888
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
2902
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_15" >
|
|
2889
2903
|
|
|
2890
2904
|
|
|
2891
2905
|
|
|
@@ -2894,14 +2908,14 @@
|
|
|
2894
2908
|
<div class="md-nav__link md-nav__link--index ">
|
|
2895
2909
|
<a href="../../../user-guide/platform-functionality/rest-api/overview.html">REST API</a>
|
|
2896
2910
|
|
|
2897
|
-
<label for="
|
|
2911
|
+
<label for="__nav_2_4_15">
|
|
2898
2912
|
<span class="md-nav__icon md-icon"></span>
|
|
2899
2913
|
</label>
|
|
2900
2914
|
|
|
2901
2915
|
</div>
|
|
2902
2916
|
|
|
2903
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
2904
|
-
<label class="md-nav__title" for="
|
|
2917
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_15_label" aria-expanded="false">
|
|
2918
|
+
<label class="md-nav__title" for="__nav_2_4_15">
|
|
2905
2919
|
<span class="md-nav__icon md-icon"></span>
|
|
2906
2920
|
REST API
|
|
2907
2921
|
</label>
|
|
@@ -3037,17 +3051,17 @@
|
|
|
3037
3051
|
|
|
3038
3052
|
|
|
3039
3053
|
|
|
3040
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
3054
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_21" >
|
|
3041
3055
|
|
|
3042
3056
|
|
|
3043
3057
|
|
|
3044
|
-
<label class="md-nav__link" for="
|
|
3058
|
+
<label class="md-nav__link" for="__nav_2_4_21" id="__nav_2_4_21_label" tabindex="0">
|
|
3045
3059
|
Users
|
|
3046
3060
|
<span class="md-nav__icon md-icon"></span>
|
|
3047
3061
|
</label>
|
|
3048
3062
|
|
|
3049
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
3050
|
-
<label class="md-nav__title" for="
|
|
3063
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_21_label" aria-expanded="false">
|
|
3064
|
+
<label class="md-nav__title" for="__nav_2_4_21">
|
|
3051
3065
|
<span class="md-nav__icon md-icon"></span>
|
|
3052
3066
|
Users
|
|
3053
3067
|
</label>
|
|
@@ -4882,6 +4896,20 @@
|
|
|
4882
4896
|
|
|
4883
4897
|
|
|
4884
4898
|
|
|
4899
|
+
<li class="md-nav__item">
|
|
4900
|
+
<a href="../../../release-notes/version-2.1.html" class="md-nav__link">
|
|
4901
|
+
Version 2.1
|
|
4902
|
+
</a>
|
|
4903
|
+
</li>
|
|
4904
|
+
|
|
4905
|
+
|
|
4906
|
+
|
|
4907
|
+
|
|
4908
|
+
|
|
4909
|
+
|
|
4910
|
+
|
|
4911
|
+
|
|
4912
|
+
|
|
4885
4913
|
<li class="md-nav__item">
|
|
4886
4914
|
<a href="../../../release-notes/version-2.0.html" class="md-nav__link">
|
|
4887
4915
|
Version 2.0
|
|
@@ -5382,10 +5410,7 @@ classes are provided for each context.</p>
|
|
|
5382
5410
|
|
|
5383
5411
|
<details class="quote">
|
|
5384
5412
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5385
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5386
|
-
<span class="normal"><a href="#__codelineno-0-12">12</a></span>
|
|
5387
|
-
<span class="normal"><a href="#__codelineno-0-13">13</a></span>
|
|
5388
|
-
<span class="normal"><a href="#__codelineno-0-14">14</a></span>
|
|
5413
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-14">14</a></span>
|
|
5389
5414
|
<span class="normal"><a href="#__codelineno-0-15">15</a></span>
|
|
5390
5415
|
<span class="normal"><a href="#__codelineno-0-16">16</a></span>
|
|
5391
5416
|
<span class="normal"><a href="#__codelineno-0-17">17</a></span>
|
|
@@ -5421,46 +5446,49 @@ classes are provided for each context.</p>
|
|
|
5421
5446
|
<span class="normal"><a href="#__codelineno-0-47">47</a></span>
|
|
5422
5447
|
<span class="normal"><a href="#__codelineno-0-48">48</a></span>
|
|
5423
5448
|
<span class="normal"><a href="#__codelineno-0-49">49</a></span>
|
|
5424
|
-
<span class="normal"><a href="#__codelineno-0-50">50</a></span
|
|
5425
|
-
<
|
|
5426
|
-
<
|
|
5427
|
-
<a id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="
|
|
5428
|
-
<a id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="
|
|
5429
|
-
<a id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="sd">
|
|
5430
|
-
<a id="__codelineno-0-17" name="__codelineno-0-17"></a>
|
|
5431
|
-
<a id="__codelineno-0-18" name="__codelineno-0-18"></a><span class="sd">
|
|
5432
|
-
<a id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="sd">
|
|
5433
|
-
<a id="__codelineno-0-20" name="__codelineno-0-20"></a
|
|
5434
|
-
<a id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="sd"> :param
|
|
5435
|
-
<a id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="sd"> :param
|
|
5436
|
-
<a id="__codelineno-0-23" name="__codelineno-0-23"></a><span class="sd">
|
|
5437
|
-
<a id="__codelineno-0-24" name="__codelineno-0-24"></a>
|
|
5438
|
-
<a id="__codelineno-0-25" name="__codelineno-0-25"></a
|
|
5439
|
-
<a id="__codelineno-0-26" name="__codelineno-0-26"></a
|
|
5440
|
-
<a id="__codelineno-0-27" name="__codelineno-0-27"></a>
|
|
5441
|
-
<a id="__codelineno-0-28" name="__codelineno-0-28"></a>
|
|
5442
|
-
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="
|
|
5443
|
-
<a id="__codelineno-0-30" name="__codelineno-0-30"></a>
|
|
5449
|
+
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
|
|
5450
|
+
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
|
|
5451
|
+
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
|
|
5452
|
+
<span class="normal"><a href="#__codelineno-0-53">53</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-14" name="__codelineno-0-14"></a><span class="k">class</span> <span class="nc">ChangeContext</span><span class="p">:</span>
|
|
5453
|
+
<a id="__codelineno-0-15" name="__codelineno-0-15"></a><span class="w"> </span><span class="sd">"""</span>
|
|
5454
|
+
<a id="__codelineno-0-16" name="__codelineno-0-16"></a><span class="sd"> ChangeContext is used to describe a single transaction that may be related</span>
|
|
5455
|
+
<a id="__codelineno-0-17" name="__codelineno-0-17"></a><span class="sd"> to one or more object changes. A unique id can be provided, otherwise</span>
|
|
5456
|
+
<a id="__codelineno-0-18" name="__codelineno-0-18"></a><span class="sd"> one will be generated to relate any changes to this transaction. Convenience</span>
|
|
5457
|
+
<a id="__codelineno-0-19" name="__codelineno-0-19"></a><span class="sd"> classes are provided for each context.</span>
|
|
5458
|
+
<a id="__codelineno-0-20" name="__codelineno-0-20"></a>
|
|
5459
|
+
<a id="__codelineno-0-21" name="__codelineno-0-21"></a><span class="sd"> :param user: User object</span>
|
|
5460
|
+
<a id="__codelineno-0-22" name="__codelineno-0-22"></a><span class="sd"> :param request: WSGIRequest object to retrieve user from django rest framework after authentication is performed</span>
|
|
5461
|
+
<a id="__codelineno-0-23" name="__codelineno-0-23"></a><span class="sd"> :param context: Context of the transaction, must match a choice in nautobot.extras.choices.ObjectChangeEventContextChoices</span>
|
|
5462
|
+
<a id="__codelineno-0-24" name="__codelineno-0-24"></a><span class="sd"> :param context_detail: Optional extra details about the transaction (ex: the plugin name that initiated the change)</span>
|
|
5463
|
+
<a id="__codelineno-0-25" name="__codelineno-0-25"></a><span class="sd"> :param change_id: Optional uuid object to uniquely identify the transaction. One will be generated if not supplied</span>
|
|
5464
|
+
<a id="__codelineno-0-26" name="__codelineno-0-26"></a><span class="sd"> """</span>
|
|
5465
|
+
<a id="__codelineno-0-27" name="__codelineno-0-27"></a>
|
|
5466
|
+
<a id="__codelineno-0-28" name="__codelineno-0-28"></a> <span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">user</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">request</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">context_detail</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">change_id</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
|
5467
|
+
<a id="__codelineno-0-29" name="__codelineno-0-29"></a> <span class="bp">self</span><span class="o">.</span><span class="n">request</span> <span class="o">=</span> <span class="n">request</span>
|
|
5468
|
+
<a id="__codelineno-0-30" name="__codelineno-0-30"></a> <span class="bp">self</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="n">user</span>
|
|
5444
5469
|
<a id="__codelineno-0-31" name="__codelineno-0-31"></a>
|
|
5445
|
-
<a id="__codelineno-0-32" name="__codelineno-0-32"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span> <span class="ow">is</span> <span class="
|
|
5446
|
-
<a id="__codelineno-0-33" name="__codelineno-0-33"></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"
|
|
5470
|
+
<a id="__codelineno-0-32" name="__codelineno-0-32"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span> <span class="ow">is</span> <span class="kc">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
|
5471
|
+
<a id="__codelineno-0-33" name="__codelineno-0-33"></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"Either user or request must be provided"</span><span class="p">)</span>
|
|
5447
5472
|
<a id="__codelineno-0-34" name="__codelineno-0-34"></a>
|
|
5448
|
-
<a id="__codelineno-0-35" name="__codelineno-0-35"></a> <span class="k">if</span> <span class="n">
|
|
5449
|
-
<a id="__codelineno-0-36" name="__codelineno-0-36"></a> <span class="
|
|
5450
|
-
<a id="__codelineno-0-37" name="__codelineno-0-37"></a>
|
|
5451
|
-
<a id="__codelineno-0-38" name="__codelineno-0-38"></a>
|
|
5452
|
-
<a id="__codelineno-0-39" name="__codelineno-0-39"></a>
|
|
5453
|
-
<a id="__codelineno-0-40" name="__codelineno-0-40"></a> <span class="bp">self</span><span class="o">.</span><span class="n">
|
|
5454
|
-
<a id="__codelineno-0-41" name="__codelineno-0-41"></a>
|
|
5455
|
-
<a id="__codelineno-0-42" name="__codelineno-0-42"></a>
|
|
5456
|
-
<a id="__codelineno-0-43" name="__codelineno-0-43"></a> <span class="
|
|
5457
|
-
<a id="__codelineno-0-44" name="__codelineno-0-44"></a>
|
|
5458
|
-
<a id="__codelineno-0-45" name="__codelineno-0-45"></a>
|
|
5459
|
-
<a id="__codelineno-0-46" name="__codelineno-0-46"></a>
|
|
5460
|
-
<a id="__codelineno-0-47" name="__codelineno-0-47"></a
|
|
5461
|
-
<a id="__codelineno-0-48" name="__codelineno-0-48"></a>
|
|
5462
|
-
<a id="__codelineno-0-49" name="__codelineno-0-49"></a>
|
|
5463
|
-
<a id="__codelineno-0-50" name="__codelineno-0-50"></a
|
|
5473
|
+
<a id="__codelineno-0-35" name="__codelineno-0-35"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
5474
|
+
<a id="__codelineno-0-36" name="__codelineno-0-36"></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="s2">"Request and user cannot be used together"</span><span class="p">)</span>
|
|
5475
|
+
<a id="__codelineno-0-37" name="__codelineno-0-37"></a>
|
|
5476
|
+
<a id="__codelineno-0-38" name="__codelineno-0-38"></a> <span class="k">if</span> <span class="n">context</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
5477
|
+
<a id="__codelineno-0-39" name="__codelineno-0-39"></a> <span class="bp">self</span><span class="o">.</span><span class="n">context</span> <span class="o">=</span> <span class="n">context</span>
|
|
5478
|
+
<a id="__codelineno-0-40" name="__codelineno-0-40"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">context</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">values</span><span class="p">():</span>
|
|
5479
|
+
<a id="__codelineno-0-41" name="__codelineno-0-41"></a> <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="s2">"Context must be a choice within ObjectChangeEventContextChoices"</span><span class="p">)</span>
|
|
5480
|
+
<a id="__codelineno-0-42" name="__codelineno-0-42"></a>
|
|
5481
|
+
<a id="__codelineno-0-43" name="__codelineno-0-43"></a> <span class="bp">self</span><span class="o">.</span><span class="n">context_detail</span> <span class="o">=</span> <span class="n">context_detail</span>
|
|
5482
|
+
<a id="__codelineno-0-44" name="__codelineno-0-44"></a>
|
|
5483
|
+
<a id="__codelineno-0-45" name="__codelineno-0-45"></a> <span class="bp">self</span><span class="o">.</span><span class="n">change_id</span> <span class="o">=</span> <span class="n">change_id</span>
|
|
5484
|
+
<a id="__codelineno-0-46" name="__codelineno-0-46"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">change_id</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
|
5485
|
+
<a id="__codelineno-0-47" name="__codelineno-0-47"></a> <span class="bp">self</span><span class="o">.</span><span class="n">change_id</span> <span class="o">=</span> <span class="n">uuid</span><span class="o">.</span><span class="n">uuid4</span><span class="p">()</span>
|
|
5486
|
+
<a id="__codelineno-0-48" name="__codelineno-0-48"></a>
|
|
5487
|
+
<a id="__codelineno-0-49" name="__codelineno-0-49"></a> <span class="k">def</span> <span class="nf">get_user</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
5488
|
+
<a id="__codelineno-0-50" name="__codelineno-0-50"></a><span class="w"> </span><span class="sd">"""Return self.user if set, otherwise return self.request.user"""</span>
|
|
5489
|
+
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
5490
|
+
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span>
|
|
5491
|
+
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">user</span>
|
|
5464
5492
|
</code></pre></div></td></tr></table></div>
|
|
5465
5493
|
</details>
|
|
5466
5494
|
|
|
@@ -5493,15 +5521,15 @@ classes are provided for each context.</p>
|
|
|
5493
5521
|
|
|
5494
5522
|
<details class="quote">
|
|
5495
5523
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5496
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5497
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5498
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5499
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5500
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5501
|
-
<a id="__codelineno-0-
|
|
5502
|
-
<a id="__codelineno-0-
|
|
5503
|
-
<a id="__codelineno-0-
|
|
5504
|
-
<a id="__codelineno-0-
|
|
5524
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-49">49</a></span>
|
|
5525
|
+
<span class="normal"><a href="#__codelineno-0-50">50</a></span>
|
|
5526
|
+
<span class="normal"><a href="#__codelineno-0-51">51</a></span>
|
|
5527
|
+
<span class="normal"><a href="#__codelineno-0-52">52</a></span>
|
|
5528
|
+
<span class="normal"><a href="#__codelineno-0-53">53</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-49" name="__codelineno-0-49"></a><span class="k">def</span> <span class="nf">get_user</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
|
|
5529
|
+
<a id="__codelineno-0-50" name="__codelineno-0-50"></a><span class="w"> </span><span class="sd">"""Return self.user if set, otherwise return self.request.user"""</span>
|
|
5530
|
+
<a id="__codelineno-0-51" name="__codelineno-0-51"></a> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
|
|
5531
|
+
<a id="__codelineno-0-52" name="__codelineno-0-52"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">user</span>
|
|
5532
|
+
<a id="__codelineno-0-53" name="__codelineno-0-53"></a> <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">request</span><span class="o">.</span><span class="n">user</span>
|
|
5505
5533
|
</code></pre></div></td></tr></table></div>
|
|
5506
5534
|
</details>
|
|
5507
5535
|
</div>
|
|
@@ -5536,13 +5564,13 @@ classes are provided for each context.</p>
|
|
|
5536
5564
|
|
|
5537
5565
|
<details class="quote">
|
|
5538
5566
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5539
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5540
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5541
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5542
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5543
|
-
<a id="__codelineno-0-
|
|
5544
|
-
<a id="__codelineno-0-
|
|
5545
|
-
<a id="__codelineno-0-
|
|
5567
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-56">56</a></span>
|
|
5568
|
+
<span class="normal"><a href="#__codelineno-0-57">57</a></span>
|
|
5569
|
+
<span class="normal"><a href="#__codelineno-0-58">58</a></span>
|
|
5570
|
+
<span class="normal"><a href="#__codelineno-0-59">59</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-56" name="__codelineno-0-56"></a><span class="k">class</span> <span class="nc">JobChangeContext</span><span class="p">(</span><span class="n">ChangeContext</span><span class="p">):</span>
|
|
5571
|
+
<a id="__codelineno-0-57" name="__codelineno-0-57"></a><span class="w"> </span><span class="sd">"""ChangeContext for changes made by jobs"""</span>
|
|
5572
|
+
<a id="__codelineno-0-58" name="__codelineno-0-58"></a>
|
|
5573
|
+
<a id="__codelineno-0-59" name="__codelineno-0-59"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_JOB</span>
|
|
5546
5574
|
</code></pre></div></td></tr></table></div>
|
|
5547
5575
|
</details>
|
|
5548
5576
|
|
|
@@ -5586,13 +5614,13 @@ classes are provided for each context.</p>
|
|
|
5586
5614
|
|
|
5587
5615
|
<details class="quote">
|
|
5588
5616
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5589
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5590
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5591
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5592
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5593
|
-
<a id="__codelineno-0-
|
|
5594
|
-
<a id="__codelineno-0-
|
|
5595
|
-
<a id="__codelineno-0-
|
|
5617
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-62">62</a></span>
|
|
5618
|
+
<span class="normal"><a href="#__codelineno-0-63">63</a></span>
|
|
5619
|
+
<span class="normal"><a href="#__codelineno-0-64">64</a></span>
|
|
5620
|
+
<span class="normal"><a href="#__codelineno-0-65">65</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-62" name="__codelineno-0-62"></a><span class="k">class</span> <span class="nc">JobHookChangeContext</span><span class="p">(</span><span class="n">ChangeContext</span><span class="p">):</span>
|
|
5621
|
+
<a id="__codelineno-0-63" name="__codelineno-0-63"></a><span class="w"> </span><span class="sd">"""ChangeContext for changes made by job hooks"""</span>
|
|
5622
|
+
<a id="__codelineno-0-64" name="__codelineno-0-64"></a>
|
|
5623
|
+
<a id="__codelineno-0-65" name="__codelineno-0-65"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_JOB_HOOK</span>
|
|
5596
5624
|
</code></pre></div></td></tr></table></div>
|
|
5597
5625
|
</details>
|
|
5598
5626
|
|
|
@@ -5636,13 +5664,13 @@ classes are provided for each context.</p>
|
|
|
5636
5664
|
|
|
5637
5665
|
<details class="quote">
|
|
5638
5666
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5639
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5640
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5641
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5642
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5643
|
-
<a id="__codelineno-0-
|
|
5644
|
-
<a id="__codelineno-0-
|
|
5645
|
-
<a id="__codelineno-0-
|
|
5667
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-68">68</a></span>
|
|
5668
|
+
<span class="normal"><a href="#__codelineno-0-69">69</a></span>
|
|
5669
|
+
<span class="normal"><a href="#__codelineno-0-70">70</a></span>
|
|
5670
|
+
<span class="normal"><a href="#__codelineno-0-71">71</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-68" name="__codelineno-0-68"></a><span class="k">class</span> <span class="nc">ORMChangeContext</span><span class="p">(</span><span class="n">ChangeContext</span><span class="p">):</span>
|
|
5671
|
+
<a id="__codelineno-0-69" name="__codelineno-0-69"></a><span class="w"> </span><span class="sd">"""ChangeContext for changes made with web_request_context context manager"""</span>
|
|
5672
|
+
<a id="__codelineno-0-70" name="__codelineno-0-70"></a>
|
|
5673
|
+
<a id="__codelineno-0-71" name="__codelineno-0-71"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_ORM</span>
|
|
5646
5674
|
</code></pre></div></td></tr></table></div>
|
|
5647
5675
|
</details>
|
|
5648
5676
|
|
|
@@ -5686,13 +5714,13 @@ classes are provided for each context.</p>
|
|
|
5686
5714
|
|
|
5687
5715
|
<details class="quote">
|
|
5688
5716
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5689
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5690
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5691
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5692
|
-
<span class="normal"><a href="#__codelineno-0-
|
|
5693
|
-
<a id="__codelineno-0-
|
|
5694
|
-
<a id="__codelineno-0-
|
|
5695
|
-
<a id="__codelineno-0-
|
|
5717
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-74">74</a></span>
|
|
5718
|
+
<span class="normal"><a href="#__codelineno-0-75">75</a></span>
|
|
5719
|
+
<span class="normal"><a href="#__codelineno-0-76">76</a></span>
|
|
5720
|
+
<span class="normal"><a href="#__codelineno-0-77">77</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-74" name="__codelineno-0-74"></a><span class="k">class</span> <span class="nc">WebChangeContext</span><span class="p">(</span><span class="n">ChangeContext</span><span class="p">):</span>
|
|
5721
|
+
<a id="__codelineno-0-75" name="__codelineno-0-75"></a><span class="w"> </span><span class="sd">"""ChangeContext for changes made through the web interface"""</span>
|
|
5722
|
+
<a id="__codelineno-0-76" name="__codelineno-0-76"></a>
|
|
5723
|
+
<a id="__codelineno-0-77" name="__codelineno-0-77"></a> <span class="n">context</span> <span class="o">=</span> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_WEB</span>
|
|
5696
5724
|
</code></pre></div></td></tr></table></div>
|
|
5697
5725
|
</details>
|
|
5698
5726
|
|
|
@@ -5736,10 +5764,7 @@ disconnecting them afterward.</p>
|
|
|
5736
5764
|
|
|
5737
5765
|
<details class="quote">
|
|
5738
5766
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5739
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5740
|
-
<span class="normal"><a href="#__codelineno-0-78">78</a></span>
|
|
5741
|
-
<span class="normal"><a href="#__codelineno-0-79">79</a></span>
|
|
5742
|
-
<span class="normal"><a href="#__codelineno-0-80">80</a></span>
|
|
5767
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-80">80</a></span>
|
|
5743
5768
|
<span class="normal"><a href="#__codelineno-0-81">81</a></span>
|
|
5744
5769
|
<span class="normal"><a href="#__codelineno-0-82">82</a></span>
|
|
5745
5770
|
<span class="normal"><a href="#__codelineno-0-83">83</a></span>
|
|
@@ -5753,24 +5778,27 @@ disconnecting them afterward.</p>
|
|
|
5753
5778
|
<span class="normal"><a href="#__codelineno-0-91">91</a></span>
|
|
5754
5779
|
<span class="normal"><a href="#__codelineno-0-92">92</a></span>
|
|
5755
5780
|
<span class="normal"><a href="#__codelineno-0-93">93</a></span>
|
|
5756
|
-
<span class="normal"><a href="#__codelineno-0-94">94</a></span
|
|
5757
|
-
<
|
|
5758
|
-
<
|
|
5759
|
-
<a id="__codelineno-0-80" name="__codelineno-0-80"></a><span class="
|
|
5760
|
-
<a id="__codelineno-0-81" name="__codelineno-0-81"></a><span class="
|
|
5761
|
-
<a id="__codelineno-0-82" name="__codelineno-0-82"></a>
|
|
5762
|
-
<a id="__codelineno-0-83" name="__codelineno-0-83"></a><span class="sd">
|
|
5763
|
-
<a id="__codelineno-0-84" name="__codelineno-0-84"></a><span class="sd">
|
|
5781
|
+
<span class="normal"><a href="#__codelineno-0-94">94</a></span>
|
|
5782
|
+
<span class="normal"><a href="#__codelineno-0-95">95</a></span>
|
|
5783
|
+
<span class="normal"><a href="#__codelineno-0-96">96</a></span>
|
|
5784
|
+
<span class="normal"><a href="#__codelineno-0-97">97</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-80" name="__codelineno-0-80"></a><span class="nd">@contextmanager</span>
|
|
5785
|
+
<a id="__codelineno-0-81" name="__codelineno-0-81"></a><span class="k">def</span> <span class="nf">change_logging</span><span class="p">(</span><span class="n">change_context</span><span class="p">):</span>
|
|
5786
|
+
<a id="__codelineno-0-82" name="__codelineno-0-82"></a><span class="w"> </span><span class="sd">"""</span>
|
|
5787
|
+
<a id="__codelineno-0-83" name="__codelineno-0-83"></a><span class="sd"> Enable change logging by connecting the appropriate signals to their receivers before code is run, and</span>
|
|
5788
|
+
<a id="__codelineno-0-84" name="__codelineno-0-84"></a><span class="sd"> disconnecting them afterward.</span>
|
|
5764
5789
|
<a id="__codelineno-0-85" name="__codelineno-0-85"></a>
|
|
5765
|
-
<a id="__codelineno-0-86" name="__codelineno-0-86"></a
|
|
5766
|
-
<a id="__codelineno-0-87" name="__codelineno-0-87"></a
|
|
5790
|
+
<a id="__codelineno-0-86" name="__codelineno-0-86"></a><span class="sd"> :param change_context: ChangeContext instance</span>
|
|
5791
|
+
<a id="__codelineno-0-87" name="__codelineno-0-87"></a><span class="sd"> """</span>
|
|
5767
5792
|
<a id="__codelineno-0-88" name="__codelineno-0-88"></a>
|
|
5768
|
-
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="
|
|
5769
|
-
<a id="__codelineno-0-90" name="__codelineno-0-90"></a>
|
|
5770
|
-
<a id="__codelineno-0-91" name="__codelineno-0-91"></a>
|
|
5771
|
-
<a id="__codelineno-0-92" name="__codelineno-0-92"></a>
|
|
5772
|
-
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="
|
|
5773
|
-
<a id="__codelineno-0-94" name="__codelineno-0-94"></a>
|
|
5793
|
+
<a id="__codelineno-0-89" name="__codelineno-0-89"></a> <span class="c1"># Set change logging state</span>
|
|
5794
|
+
<a id="__codelineno-0-90" name="__codelineno-0-90"></a> <span class="n">prev_state</span> <span class="o">=</span> <span class="n">change_context_state</span><span class="o">.</span><span class="n">set</span><span class="p">(</span><span class="n">change_context</span><span class="p">)</span>
|
|
5795
|
+
<a id="__codelineno-0-91" name="__codelineno-0-91"></a>
|
|
5796
|
+
<a id="__codelineno-0-92" name="__codelineno-0-92"></a> <span class="k">try</span><span class="p">:</span>
|
|
5797
|
+
<a id="__codelineno-0-93" name="__codelineno-0-93"></a> <span class="k">yield</span>
|
|
5798
|
+
<a id="__codelineno-0-94" name="__codelineno-0-94"></a> <span class="k">finally</span><span class="p">:</span>
|
|
5799
|
+
<a id="__codelineno-0-95" name="__codelineno-0-95"></a> <span class="c1"># Reset change logging state. This is necessary to avoid recording any errant</span>
|
|
5800
|
+
<a id="__codelineno-0-96" name="__codelineno-0-96"></a> <span class="c1"># changes during test cleanup.</span>
|
|
5801
|
+
<a id="__codelineno-0-97" name="__codelineno-0-97"></a> <span class="n">change_context_state</span><span class="o">.</span><span class="n">reset</span><span class="p">(</span><span class="n">prev_state</span><span class="p">)</span>
|
|
5774
5802
|
</code></pre></div></td></tr></table></div>
|
|
5775
5803
|
</details>
|
|
5776
5804
|
</div>
|
|
@@ -5783,7 +5811,7 @@ disconnecting them afterward.</p>
|
|
|
5783
5811
|
|
|
5784
5812
|
|
|
5785
5813
|
<h2 id="nautobot.apps.change_logging.web_request_context" class="doc doc-heading">
|
|
5786
|
-
<code class="highlight language-python"><span class="n">nautobot</span><span class="o">.</span><span class="n">apps</span><span class="o">.</span><span class="n">change_logging</span><span class="o">.</span><span class="n">web_request_context</span><span class="p">(</span><span class="n">user</span><span class="p">,</span> <span class="n">context_detail</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">change_id</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
|
|
5814
|
+
<code class="highlight language-python"><span class="n">nautobot</span><span class="o">.</span><span class="n">apps</span><span class="o">.</span><span class="n">change_logging</span><span class="o">.</span><span class="n">web_request_context</span><span class="p">(</span><span class="n">user</span><span class="p">,</span> <span class="n">context_detail</span><span class="o">=</span><span class="s1">''</span><span class="p">,</span> <span class="n">change_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_ORM</span><span class="p">,</span> <span class="n">request</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
|
|
5787
5815
|
|
|
5788
5816
|
<a href="#nautobot.apps.change_logging.web_request_context" class="headerlink" title="Permanent link">¶</a></h2>
|
|
5789
5817
|
|
|
@@ -5810,14 +5838,14 @@ with web_request_context(user, context_detail="manual-fix"):
|
|
|
5810
5838
|
</blockquote>
|
|
5811
5839
|
<p>:param user: User object
|
|
5812
5840
|
:param context_detail: Optional extra details about the transaction (ex: the plugin name that initiated the change)
|
|
5813
|
-
:param change_id: Optional uuid object to uniquely identify the transaction. One will be generated if not supplied
|
|
5841
|
+
:param change_id: Optional uuid object to uniquely identify the transaction. One will be generated if not supplied
|
|
5842
|
+
:param context: Optional string value of the generated change log entries' "change_context" field, defaults to ObjectChangeEventContextChoices.CONTEXT_ORM.
|
|
5843
|
+
Valid choices are in nautobot.extras.choices.ObjectChangeEventContextChoices
|
|
5844
|
+
:param request: Optional web request instance, one will be generated if not supplied</p>
|
|
5814
5845
|
|
|
5815
5846
|
<details class="quote">
|
|
5816
5847
|
<summary>Source code in <code>nautobot/extras/context_managers.py</code></summary>
|
|
5817
|
-
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-
|
|
5818
|
-
<span class="normal"><a href="#__codelineno-0-98"> 98</a></span>
|
|
5819
|
-
<span class="normal"><a href="#__codelineno-0-99"> 99</a></span>
|
|
5820
|
-
<span class="normal"><a href="#__codelineno-0-100">100</a></span>
|
|
5848
|
+
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"><a href="#__codelineno-0-100">100</a></span>
|
|
5821
5849
|
<span class="normal"><a href="#__codelineno-0-101">101</a></span>
|
|
5822
5850
|
<span class="normal"><a href="#__codelineno-0-102">102</a></span>
|
|
5823
5851
|
<span class="normal"><a href="#__codelineno-0-103">103</a></span>
|
|
@@ -5845,38 +5873,87 @@ with web_request_context(user, context_detail="manual-fix"):
|
|
|
5845
5873
|
<span class="normal"><a href="#__codelineno-0-125">125</a></span>
|
|
5846
5874
|
<span class="normal"><a href="#__codelineno-0-126">126</a></span>
|
|
5847
5875
|
<span class="normal"><a href="#__codelineno-0-127">127</a></span>
|
|
5848
|
-
<span class="normal"><a href="#__codelineno-0-128">128</a></span
|
|
5849
|
-
<
|
|
5850
|
-
<
|
|
5851
|
-
<
|
|
5852
|
-
<
|
|
5853
|
-
<
|
|
5854
|
-
<
|
|
5855
|
-
<
|
|
5856
|
-
<
|
|
5857
|
-
<
|
|
5858
|
-
<
|
|
5876
|
+
<span class="normal"><a href="#__codelineno-0-128">128</a></span>
|
|
5877
|
+
<span class="normal"><a href="#__codelineno-0-129">129</a></span>
|
|
5878
|
+
<span class="normal"><a href="#__codelineno-0-130">130</a></span>
|
|
5879
|
+
<span class="normal"><a href="#__codelineno-0-131">131</a></span>
|
|
5880
|
+
<span class="normal"><a href="#__codelineno-0-132">132</a></span>
|
|
5881
|
+
<span class="normal"><a href="#__codelineno-0-133">133</a></span>
|
|
5882
|
+
<span class="normal"><a href="#__codelineno-0-134">134</a></span>
|
|
5883
|
+
<span class="normal"><a href="#__codelineno-0-135">135</a></span>
|
|
5884
|
+
<span class="normal"><a href="#__codelineno-0-136">136</a></span>
|
|
5885
|
+
<span class="normal"><a href="#__codelineno-0-137">137</a></span>
|
|
5886
|
+
<span class="normal"><a href="#__codelineno-0-138">138</a></span>
|
|
5887
|
+
<span class="normal"><a href="#__codelineno-0-139">139</a></span>
|
|
5888
|
+
<span class="normal"><a href="#__codelineno-0-140">140</a></span>
|
|
5889
|
+
<span class="normal"><a href="#__codelineno-0-141">141</a></span>
|
|
5890
|
+
<span class="normal"><a href="#__codelineno-0-142">142</a></span>
|
|
5891
|
+
<span class="normal"><a href="#__codelineno-0-143">143</a></span>
|
|
5892
|
+
<span class="normal"><a href="#__codelineno-0-144">144</a></span>
|
|
5893
|
+
<span class="normal"><a href="#__codelineno-0-145">145</a></span>
|
|
5894
|
+
<span class="normal"><a href="#__codelineno-0-146">146</a></span>
|
|
5895
|
+
<span class="normal"><a href="#__codelineno-0-147">147</a></span>
|
|
5896
|
+
<span class="normal"><a href="#__codelineno-0-148">148</a></span>
|
|
5897
|
+
<span class="normal"><a href="#__codelineno-0-149">149</a></span>
|
|
5898
|
+
<span class="normal"><a href="#__codelineno-0-150">150</a></span>
|
|
5899
|
+
<span class="normal"><a href="#__codelineno-0-151">151</a></span>
|
|
5900
|
+
<span class="normal"><a href="#__codelineno-0-152">152</a></span>
|
|
5901
|
+
<span class="normal"><a href="#__codelineno-0-153">153</a></span>
|
|
5902
|
+
<span class="normal"><a href="#__codelineno-0-154">154</a></span></pre></div></td><td class="code"><div><pre><span></span><code><a id="__codelineno-0-100" name="__codelineno-0-100"></a><span class="nd">@contextmanager</span>
|
|
5903
|
+
<a id="__codelineno-0-101" name="__codelineno-0-101"></a><span class="k">def</span> <span class="nf">web_request_context</span><span class="p">(</span>
|
|
5904
|
+
<a id="__codelineno-0-102" name="__codelineno-0-102"></a> <span class="n">user</span><span class="p">,</span> <span class="n">context_detail</span><span class="o">=</span><span class="s2">""</span><span class="p">,</span> <span class="n">change_id</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">context</span><span class="o">=</span><span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_ORM</span><span class="p">,</span> <span class="n">request</span><span class="o">=</span><span class="kc">None</span>
|
|
5905
|
+
<a id="__codelineno-0-103" name="__codelineno-0-103"></a><span class="p">):</span>
|
|
5906
|
+
<a id="__codelineno-0-104" name="__codelineno-0-104"></a><span class="w"> </span><span class="sd">"""</span>
|
|
5907
|
+
<a id="__codelineno-0-105" name="__codelineno-0-105"></a><span class="sd"> Emulate the context of an HTTP request, which provides functions like change logging and webhook processing</span>
|
|
5908
|
+
<a id="__codelineno-0-106" name="__codelineno-0-106"></a><span class="sd"> in response to data changes. This context manager is for use with low level utility tooling, such as the</span>
|
|
5909
|
+
<a id="__codelineno-0-107" name="__codelineno-0-107"></a><span class="sd"> 'nautobot-server nbshell' management command.</span>
|
|
5859
5910
|
<a id="__codelineno-0-108" name="__codelineno-0-108"></a>
|
|
5860
|
-
<a id="__codelineno-0-109" name="__codelineno-0-109"></a><span class="sd">
|
|
5861
|
-
<a id="__codelineno-0-110" name="__codelineno-0-110"></a><span class="sd">
|
|
5862
|
-
<a id="__codelineno-0-111" name="__codelineno-0-111"></a
|
|
5863
|
-
<a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="sd">
|
|
5864
|
-
<a id="__codelineno-0-113" name="__codelineno-0-113"></a
|
|
5865
|
-
<a id="__codelineno-0-114" name="__codelineno-0-114"></a><span class="sd">
|
|
5866
|
-
<a id="__codelineno-0-115" name="__codelineno-0-115"></a>
|
|
5867
|
-
<a id="__codelineno-0-116" name="__codelineno-0-116"></a><span class="sd">
|
|
5868
|
-
<a id="__codelineno-0-117" name="__codelineno-0-117"></a><span class="sd">
|
|
5869
|
-
<a id="__codelineno-0-118" name="__codelineno-0-118"></a><span class="sd">
|
|
5870
|
-
<a id="__codelineno-0-119" name="__codelineno-0-119"></a><span class="sd">
|
|
5911
|
+
<a id="__codelineno-0-109" name="__codelineno-0-109"></a><span class="sd"> By default, when working with the Django ORM, neither change logging nor webhook processing occur</span>
|
|
5912
|
+
<a id="__codelineno-0-110" name="__codelineno-0-110"></a><span class="sd"> unless manually invoked and this context manager handles those functions. A valid User object must be provided.</span>
|
|
5913
|
+
<a id="__codelineno-0-111" name="__codelineno-0-111"></a>
|
|
5914
|
+
<a id="__codelineno-0-112" name="__codelineno-0-112"></a><span class="sd"> Example usage:</span>
|
|
5915
|
+
<a id="__codelineno-0-113" name="__codelineno-0-113"></a>
|
|
5916
|
+
<a id="__codelineno-0-114" name="__codelineno-0-114"></a><span class="sd"> >>> from nautobot.extras.context_managers import web_request_context</span>
|
|
5917
|
+
<a id="__codelineno-0-115" name="__codelineno-0-115"></a><span class="sd"> >>> user = User.objects.get(username="admin")</span>
|
|
5918
|
+
<a id="__codelineno-0-116" name="__codelineno-0-116"></a><span class="sd"> >>> with web_request_context(user, context_detail="manual-fix"):</span>
|
|
5919
|
+
<a id="__codelineno-0-117" name="__codelineno-0-117"></a><span class="sd"> ... lt = Location.objects.get(name="Root")</span>
|
|
5920
|
+
<a id="__codelineno-0-118" name="__codelineno-0-118"></a><span class="sd"> ... lax = Location(name="LAX", location_type=lt)</span>
|
|
5921
|
+
<a id="__codelineno-0-119" name="__codelineno-0-119"></a><span class="sd"> ... lax.validated_save()</span>
|
|
5871
5922
|
<a id="__codelineno-0-120" name="__codelineno-0-120"></a>
|
|
5872
|
-
<a id="__codelineno-0-121" name="__codelineno-0-121"></a
|
|
5873
|
-
<a id="__codelineno-0-122" name="__codelineno-0-122"></a
|
|
5874
|
-
<a id="__codelineno-0-123" name="__codelineno-0-123"></a>
|
|
5875
|
-
<a id="__codelineno-0-124" name="__codelineno-0-124"></a
|
|
5876
|
-
<a id="__codelineno-0-125" name="__codelineno-0-125"></a
|
|
5877
|
-
<a id="__codelineno-0-126" name="__codelineno-0-126"></a
|
|
5878
|
-
<a id="__codelineno-0-127" name="__codelineno-0-127"></a
|
|
5879
|
-
<a id="__codelineno-0-128" name="__codelineno-0-128"></a>
|
|
5923
|
+
<a id="__codelineno-0-121" name="__codelineno-0-121"></a><span class="sd"> :param user: User object</span>
|
|
5924
|
+
<a id="__codelineno-0-122" name="__codelineno-0-122"></a><span class="sd"> :param context_detail: Optional extra details about the transaction (ex: the plugin name that initiated the change)</span>
|
|
5925
|
+
<a id="__codelineno-0-123" name="__codelineno-0-123"></a><span class="sd"> :param change_id: Optional uuid object to uniquely identify the transaction. One will be generated if not supplied</span>
|
|
5926
|
+
<a id="__codelineno-0-124" name="__codelineno-0-124"></a><span class="sd"> :param context: Optional string value of the generated change log entries' "change_context" field, defaults to ObjectChangeEventContextChoices.CONTEXT_ORM.</span>
|
|
5927
|
+
<a id="__codelineno-0-125" name="__codelineno-0-125"></a><span class="sd"> Valid choices are in nautobot.extras.choices.ObjectChangeEventContextChoices</span>
|
|
5928
|
+
<a id="__codelineno-0-126" name="__codelineno-0-126"></a><span class="sd"> :param request: Optional web request instance, one will be generated if not supplied</span>
|
|
5929
|
+
<a id="__codelineno-0-127" name="__codelineno-0-127"></a><span class="sd"> """</span>
|
|
5930
|
+
<a id="__codelineno-0-128" name="__codelineno-0-128"></a> <span class="kn">from</span> <span class="nn">nautobot.extras.jobs</span> <span class="kn">import</span> <span class="n">enqueue_job_hooks</span> <span class="c1"># prevent circular import</span>
|
|
5931
|
+
<a id="__codelineno-0-129" name="__codelineno-0-129"></a>
|
|
5932
|
+
<a id="__codelineno-0-130" name="__codelineno-0-130"></a> <span class="n">valid_contexts</span> <span class="o">=</span> <span class="p">{</span>
|
|
5933
|
+
<a id="__codelineno-0-131" name="__codelineno-0-131"></a> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_JOB</span><span class="p">:</span> <span class="n">JobChangeContext</span><span class="p">,</span>
|
|
5934
|
+
<a id="__codelineno-0-132" name="__codelineno-0-132"></a> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_JOB_HOOK</span><span class="p">:</span> <span class="n">JobHookChangeContext</span><span class="p">,</span>
|
|
5935
|
+
<a id="__codelineno-0-133" name="__codelineno-0-133"></a> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_ORM</span><span class="p">:</span> <span class="n">ORMChangeContext</span><span class="p">,</span>
|
|
5936
|
+
<a id="__codelineno-0-134" name="__codelineno-0-134"></a> <span class="n">ObjectChangeEventContextChoices</span><span class="o">.</span><span class="n">CONTEXT_WEB</span><span class="p">:</span> <span class="n">WebChangeContext</span><span class="p">,</span>
|
|
5937
|
+
<a id="__codelineno-0-135" name="__codelineno-0-135"></a> <span class="p">}</span>
|
|
5938
|
+
<a id="__codelineno-0-136" name="__codelineno-0-136"></a>
|
|
5939
|
+
<a id="__codelineno-0-137" name="__codelineno-0-137"></a> <span class="k">if</span> <span class="n">context</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">valid_contexts</span><span class="p">:</span>
|
|
5940
|
+
<a id="__codelineno-0-138" name="__codelineno-0-138"></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">context</span><span class="si">}</span><span class="s2"> is not a valid context"</span><span class="p">)</span>
|
|
5941
|
+
<a id="__codelineno-0-139" name="__codelineno-0-139"></a>
|
|
5942
|
+
<a id="__codelineno-0-140" name="__codelineno-0-140"></a> <span class="k">if</span> <span class="ow">not</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">user</span><span class="p">,</span> <span class="p">(</span><span class="n">get_user_model</span><span class="p">(),</span> <span class="n">AnonymousUser</span><span class="p">)):</span>
|
|
5943
|
+
<a id="__codelineno-0-141" name="__codelineno-0-141"></a> <span class="k">raise</span> <span class="ne">TypeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">user</span><span class="si">}</span><span class="s2"> is not a valid user object"</span><span class="p">)</span>
|
|
5944
|
+
<a id="__codelineno-0-142" name="__codelineno-0-142"></a>
|
|
5945
|
+
<a id="__codelineno-0-143" name="__codelineno-0-143"></a> <span class="k">if</span> <span class="n">request</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
|
5946
|
+
<a id="__codelineno-0-144" name="__codelineno-0-144"></a> <span class="n">request</span> <span class="o">=</span> <span class="n">RequestFactory</span><span class="p">()</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="n">SERVER_NAME</span><span class="o">=</span><span class="s2">"web_request_context"</span><span class="p">)</span>
|
|
5947
|
+
<a id="__codelineno-0-145" name="__codelineno-0-145"></a> <span class="n">request</span><span class="o">.</span><span class="n">user</span> <span class="o">=</span> <span class="n">user</span>
|
|
5948
|
+
<a id="__codelineno-0-146" name="__codelineno-0-146"></a> <span class="n">change_context</span> <span class="o">=</span> <span class="n">valid_contexts</span><span class="p">[</span><span class="n">context</span><span class="p">](</span><span class="n">request</span><span class="o">=</span><span class="n">request</span><span class="p">,</span> <span class="n">context_detail</span><span class="o">=</span><span class="n">context_detail</span><span class="p">,</span> <span class="n">change_id</span><span class="o">=</span><span class="n">change_id</span><span class="p">)</span>
|
|
5949
|
+
<a id="__codelineno-0-147" name="__codelineno-0-147"></a> <span class="k">try</span><span class="p">:</span>
|
|
5950
|
+
<a id="__codelineno-0-148" name="__codelineno-0-148"></a> <span class="k">with</span> <span class="n">change_logging</span><span class="p">(</span><span class="n">change_context</span><span class="p">):</span>
|
|
5951
|
+
<a id="__codelineno-0-149" name="__codelineno-0-149"></a> <span class="k">yield</span> <span class="n">request</span>
|
|
5952
|
+
<a id="__codelineno-0-150" name="__codelineno-0-150"></a> <span class="k">finally</span><span class="p">:</span>
|
|
5953
|
+
<a id="__codelineno-0-151" name="__codelineno-0-151"></a> <span class="c1"># enqueue jobhooks and webhooks, use change_context.change_id in case change_id was not supplied</span>
|
|
5954
|
+
<a id="__codelineno-0-152" name="__codelineno-0-152"></a> <span class="k">for</span> <span class="n">object_change</span> <span class="ow">in</span> <span class="n">ObjectChange</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">request_id</span><span class="o">=</span><span class="n">change_context</span><span class="o">.</span><span class="n">change_id</span><span class="p">)</span><span class="o">.</span><span class="n">iterator</span><span class="p">():</span>
|
|
5955
|
+
<a id="__codelineno-0-153" name="__codelineno-0-153"></a> <span class="n">enqueue_job_hooks</span><span class="p">(</span><span class="n">object_change</span><span class="p">)</span>
|
|
5956
|
+
<a id="__codelineno-0-154" name="__codelineno-0-154"></a> <span class="n">enqueue_webhooks</span><span class="p">(</span><span class="n">object_change</span><span class="p">)</span>
|
|
5880
5957
|
</code></pre></div></td></tr></table></div>
|
|
5881
5958
|
</details>
|
|
5882
5959
|
</div>
|