nautobot 2.2.2__py3-none-any.whl → 2.2.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of nautobot might be problematic. Click here for more details.
- nautobot/apps/jobs.py +2 -0
- nautobot/core/api/utils.py +12 -9
- nautobot/core/apps/__init__.py +2 -2
- nautobot/core/celery/__init__.py +79 -68
- nautobot/core/celery/backends.py +9 -1
- nautobot/core/celery/control.py +4 -7
- nautobot/core/celery/schedulers.py +4 -2
- nautobot/core/celery/task.py +78 -5
- nautobot/core/graphql/schema.py +2 -1
- nautobot/core/jobs/__init__.py +2 -1
- nautobot/core/settings.py +6 -4
- nautobot/core/settings.yaml +51 -16
- nautobot/core/templates/admin/base.html +2 -2
- nautobot/core/templates/base_django.html +2 -2
- nautobot/core/templates/buttons/export.html +47 -47
- nautobot/core/templates/generic/object_list.html +3 -3
- nautobot/core/templates/inc/javascript.html +3 -0
- nautobot/core/templates/inc/media.html +3 -0
- nautobot/core/templates/login.html +2 -2
- nautobot/core/templates/nautobot_config.py.j2 +2 -0
- nautobot/core/templatetags/helpers.py +66 -9
- nautobot/core/testing/__init__.py +6 -1
- nautobot/core/testing/api.py +12 -13
- nautobot/core/testing/mixins.py +2 -2
- nautobot/core/testing/views.py +50 -51
- nautobot/core/tests/test_api.py +23 -2
- nautobot/core/tests/test_jobs.py +79 -2
- nautobot/core/tests/test_templatetags_helpers.py +32 -0
- nautobot/core/tests/test_views.py +52 -0
- nautobot/core/tests/test_views_utils.py +22 -1
- nautobot/core/utils/module_loading.py +89 -0
- nautobot/core/views/mixins.py +4 -0
- nautobot/core/views/utils.py +3 -2
- nautobot/dcim/choices.py +14 -0
- nautobot/dcim/forms.py +51 -1
- nautobot/dcim/models/device_components.py +9 -5
- nautobot/dcim/templates/dcim/location.html +32 -13
- nautobot/dcim/templates/dcim/location_migrate_data_to_contact.html +102 -0
- nautobot/dcim/tests/test_views.py +376 -55
- nautobot/dcim/urls.py +5 -0
- nautobot/dcim/views.py +172 -21
- nautobot/extras/api/serializers.py +17 -6
- nautobot/extras/api/views.py +21 -10
- nautobot/extras/constants.py +3 -3
- nautobot/extras/datasources/git.py +47 -58
- nautobot/extras/forms/forms.py +3 -1
- nautobot/extras/jobs.py +79 -146
- nautobot/extras/models/datasources.py +0 -2
- nautobot/extras/models/jobs.py +36 -18
- nautobot/extras/plugins/__init__.py +1 -20
- nautobot/extras/signals.py +6 -9
- nautobot/extras/test_jobs/__init__.py +8 -0
- nautobot/extras/test_jobs/dry_run.py +3 -2
- nautobot/extras/test_jobs/fail.py +43 -0
- nautobot/extras/test_jobs/ipaddress_vars.py +40 -1
- nautobot/extras/test_jobs/jobs_module/__init__.py +5 -0
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/__init__.py +1 -0
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +6 -0
- nautobot/extras/test_jobs/pass.py +40 -0
- nautobot/extras/test_jobs/relative_import.py +11 -0
- nautobot/extras/tests/test_api.py +3 -0
- nautobot/extras/tests/test_context_managers.py +18 -0
- nautobot/extras/tests/test_datasources.py +125 -118
- nautobot/extras/tests/test_job_variables.py +57 -15
- nautobot/extras/tests/test_jobs.py +135 -1
- nautobot/extras/tests/test_models.py +26 -19
- nautobot/extras/tests/test_plugins.py +1 -3
- nautobot/extras/tests/test_views.py +2 -4
- nautobot/extras/utils.py +2 -1
- nautobot/extras/views.py +82 -116
- nautobot/ipam/api/views.py +8 -1
- nautobot/ipam/graphql/types.py +11 -0
- nautobot/ipam/mixins.py +32 -0
- nautobot/ipam/models.py +2 -1
- nautobot/ipam/querysets.py +6 -1
- nautobot/ipam/tests/test_models.py +82 -0
- nautobot/ipam/views.py +6 -6
- nautobot/project-static/docs/404.html +107 -51
- nautobot/project-static/docs/apps/index.html +107 -51
- nautobot/project-static/docs/apps/nautobot-apps.html +107 -51
- nautobot/project-static/docs/assets/_mkdocstrings.css +6 -1
- nautobot/project-static/docs/assets/extra.css +11 -0
- nautobot/project-static/docs/assets/javascripts/bundle.3220b9d7.min.js +29 -0
- nautobot/project-static/docs/assets/javascripts/bundle.3220b9d7.min.js.map +7 -0
- nautobot/project-static/docs/assets/stylesheets/main.66ac8b77.min.css +1 -0
- nautobot/project-static/docs/assets/stylesheets/main.66ac8b77.min.css.map +1 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +108 -52
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +287 -262
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +107 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +107 -51
- nautobot/project-static/docs/development/apps/api/configuration-view.html +110 -54
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +110 -54
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +107 -51
- nautobot/project-static/docs/development/apps/api/models/global-search.html +110 -54
- nautobot/project-static/docs/development/apps/api/models/graphql.html +113 -57
- nautobot/project-static/docs/development/apps/api/models/index.html +107 -51
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +113 -57
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +107 -51
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +110 -54
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +107 -51
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +107 -51
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +110 -54
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +111 -55
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +110 -54
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +110 -54
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +107 -51
- nautobot/project-static/docs/development/apps/api/prometheus.html +110 -54
- nautobot/project-static/docs/development/apps/api/setup.html +107 -51
- nautobot/project-static/docs/development/apps/api/testing.html +113 -57
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +110 -54
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +110 -54
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +107 -51
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +107 -51
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +113 -57
- nautobot/project-static/docs/development/apps/api/views/base-template.html +107 -51
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +110 -54
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +107 -51
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +110 -54
- nautobot/project-static/docs/development/apps/api/views/index.html +107 -51
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +113 -57
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +122 -66
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +110 -54
- nautobot/project-static/docs/development/apps/api/views/notes.html +110 -54
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +107 -51
- nautobot/project-static/docs/development/apps/api/views/urls.html +107 -51
- nautobot/project-static/docs/development/apps/index.html +128 -72
- nautobot/project-static/docs/development/apps/migration/code-updates.html +107 -51
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +107 -51
- nautobot/project-static/docs/development/apps/migration/from-v1.html +107 -51
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +107 -51
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +107 -51
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +107 -51
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +107 -51
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +110 -54
- nautobot/project-static/docs/development/core/application-registry.html +242 -144
- nautobot/project-static/docs/development/core/best-practices.html +122 -66
- nautobot/project-static/docs/development/core/bootstrap-ui.html +107 -51
- nautobot/project-static/docs/development/core/caching.html +107 -51
- nautobot/project-static/docs/development/core/controllers.html +107 -51
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +113 -57
- nautobot/project-static/docs/development/core/generic-views.html +110 -54
- nautobot/project-static/docs/development/core/getting-started.html +135 -79
- nautobot/project-static/docs/development/core/homepage.html +110 -54
- nautobot/project-static/docs/development/core/index.html +107 -51
- nautobot/project-static/docs/development/core/model-checklist.html +156 -52
- nautobot/project-static/docs/development/core/model-features.html +108 -52
- nautobot/project-static/docs/development/core/natural-keys.html +110 -54
- nautobot/project-static/docs/development/core/navigation-menu.html +107 -51
- nautobot/project-static/docs/development/core/release-checklist.html +107 -51
- nautobot/project-static/docs/development/core/role-internals.html +107 -51
- nautobot/project-static/docs/development/core/settings.html +107 -51
- nautobot/project-static/docs/development/core/style-guide.html +110 -54
- nautobot/project-static/docs/development/core/templates.html +113 -57
- nautobot/project-static/docs/development/core/testing.html +125 -69
- nautobot/project-static/docs/development/core/user-preferences.html +107 -51
- nautobot/project-static/docs/development/index.html +107 -51
- nautobot/project-static/docs/development/jobs/index.html +504 -172
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +111 -55
- nautobot/project-static/docs/docker/index.html +3 -3
- nautobot/project-static/docs/index.html +125 -69
- nautobot/project-static/docs/installation/selinux-troubleshooting.html +3 -3
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/release-notes/index.html +107 -51
- nautobot/project-static/docs/release-notes/version-1.0.html +107 -51
- nautobot/project-static/docs/release-notes/version-1.1.html +107 -51
- nautobot/project-static/docs/release-notes/version-1.2.html +107 -51
- nautobot/project-static/docs/release-notes/version-1.3.html +107 -51
- nautobot/project-static/docs/release-notes/version-1.4.html +107 -51
- nautobot/project-static/docs/release-notes/version-1.5.html +116 -60
- nautobot/project-static/docs/release-notes/version-1.6.html +107 -51
- nautobot/project-static/docs/release-notes/version-2.0.html +110 -54
- nautobot/project-static/docs/release-notes/version-2.1.html +107 -51
- nautobot/project-static/docs/release-notes/version-2.2.html +500 -114
- nautobot/project-static/docs/requirements.txt +2 -2
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +262 -262
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +107 -51
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +107 -51
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +107 -51
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +107 -51
- nautobot/project-static/docs/user-guide/administration/configuration/optional-settings.html +251 -164
- nautobot/project-static/docs/user-guide/administration/configuration/required-settings.html +113 -57
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +107 -51
- nautobot/project-static/docs/user-guide/administration/guides/caching.html +113 -57
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +107 -51
- nautobot/project-static/docs/user-guide/administration/guides/healthcheck.html +107 -51
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +107 -51
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +113 -57
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +107 -51
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +107 -51
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +107 -51
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +171 -112
- nautobot/project-static/docs/user-guide/administration/installation/docker.html +13 -8626
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +117 -61
- nautobot/project-static/docs/user-guide/administration/installation/health-checks.html +13 -8614
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +252 -165
- nautobot/project-static/docs/user-guide/administration/installation/index.html +165 -192
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +411 -691
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +248 -229
- nautobot/project-static/docs/user-guide/administration/installation/selinux-troubleshooting.html +13 -8118
- nautobot/project-static/docs/user-guide/administration/installation/services.html +350 -240
- nautobot/project-static/docs/user-guide/administration/installation-extras/docker.html +8684 -0
- nautobot/project-static/docs/user-guide/administration/installation-extras/health-checks.html +8672 -0
- nautobot/project-static/docs/user-guide/administration/installation-extras/selinux-troubleshooting.html +8176 -0
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +110 -54
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +110 -54
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +155 -99
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +109 -53
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +107 -51
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +117 -58
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +116 -60
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +119 -63
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +125 -69
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +128 -72
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +227 -60
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +110 -54
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +107 -51
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +113 -57
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +113 -57
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +113 -57
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +110 -54
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +113 -57
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +107 -51
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +110 -54
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +107 -51
- nautobot/project-static/docs/user-guide/index.html +109 -53
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +113 -57
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +128 -72
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +125 -69
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +125 -69
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +143 -100
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +113 -57
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +113 -57
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +123 -67
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +116 -60
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +131 -75
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +149 -93
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +116 -60
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +119 -63
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +137 -81
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +110 -54
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +107 -51
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +110 -54
- nautobot/project-static/js/forms.js +18 -11
- nautobot/tenancy/views.py +2 -6
- nautobot/virtualization/views.py +5 -9
- {nautobot-2.2.2.dist-info → nautobot-2.2.4.dist-info}/METADATA +4 -4
- {nautobot-2.2.2.dist-info → nautobot-2.2.4.dist-info}/RECORD +357 -348
- nautobot/extras/test_jobs/job_variables.py +0 -93
- nautobot/project-static/docs/assets/javascripts/bundle.bd41221c.min.js +0 -29
- nautobot/project-static/docs/assets/javascripts/bundle.bd41221c.min.js.map +0 -7
- nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css +0 -1
- nautobot/project-static/docs/assets/stylesheets/main.bcfcd587.min.css.map +0 -1
- {nautobot-2.2.2.dist-info → nautobot-2.2.4.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.2.2.dist-info → nautobot-2.2.4.dist-info}/NOTICE +0 -0
- {nautobot-2.2.2.dist-info → nautobot-2.2.4.dist-info}/WHEEL +0 -0
- {nautobot-2.2.2.dist-info → nautobot-2.2.4.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.5.18">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -26,12 +26,20 @@
|
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
<link rel="stylesheet" href="../../../assets/stylesheets/main.
|
|
29
|
+
<link rel="stylesheet" href="../../../assets/stylesheets/main.66ac8b77.min.css">
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<link rel="stylesheet" href="../../../assets/stylesheets/palette.06af60db.min.css">
|
|
33
33
|
|
|
34
34
|
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
<style>:root{--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></svg>');}</style>
|
|
42
|
+
|
|
35
43
|
|
|
36
44
|
|
|
37
45
|
|
|
@@ -200,7 +208,7 @@
|
|
|
200
208
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
201
209
|
<div class="md-source__icon md-icon">
|
|
202
210
|
|
|
203
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.
|
|
211
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
204
212
|
</div>
|
|
205
213
|
<div class="md-source__repository">
|
|
206
214
|
GitHub
|
|
@@ -360,7 +368,7 @@
|
|
|
360
368
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
361
369
|
<div class="md-source__icon md-icon">
|
|
362
370
|
|
|
363
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.
|
|
371
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
364
372
|
</div>
|
|
365
373
|
<div class="md-source__repository">
|
|
366
374
|
GitHub
|
|
@@ -528,7 +536,7 @@
|
|
|
528
536
|
|
|
529
537
|
|
|
530
538
|
<span class="md-ellipsis">
|
|
531
|
-
|
|
539
|
+
Getting Started
|
|
532
540
|
</span>
|
|
533
541
|
|
|
534
542
|
|
|
@@ -629,11 +637,11 @@
|
|
|
629
637
|
|
|
630
638
|
|
|
631
639
|
<li class="md-nav__item">
|
|
632
|
-
<a href="../../administration/installation/
|
|
640
|
+
<a href="../../administration/installation/app-install.html" class="md-nav__link">
|
|
633
641
|
|
|
634
642
|
|
|
635
643
|
<span class="md-ellipsis">
|
|
636
|
-
|
|
644
|
+
Installing and Using Apps
|
|
637
645
|
</span>
|
|
638
646
|
|
|
639
647
|
|
|
@@ -650,11 +658,11 @@
|
|
|
650
658
|
|
|
651
659
|
|
|
652
660
|
<li class="md-nav__item">
|
|
653
|
-
<a href="../../administration/installation/
|
|
661
|
+
<a href="../../administration/installation/external-authentication.html" class="md-nav__link">
|
|
654
662
|
|
|
655
663
|
|
|
656
664
|
<span class="md-ellipsis">
|
|
657
|
-
|
|
665
|
+
External Authentication (Optional)
|
|
658
666
|
</span>
|
|
659
667
|
|
|
660
668
|
|
|
@@ -664,6 +672,52 @@
|
|
|
664
672
|
|
|
665
673
|
|
|
666
674
|
|
|
675
|
+
</ul>
|
|
676
|
+
</nav>
|
|
677
|
+
|
|
678
|
+
</li>
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_2" >
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
<label class="md-nav__link" for="__nav_2_1_2" id="__nav_2_1_2_label" tabindex="0">
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
<span class="md-ellipsis">
|
|
707
|
+
Installation Extras
|
|
708
|
+
</span>
|
|
709
|
+
|
|
710
|
+
|
|
711
|
+
<span class="md-nav__icon md-icon"></span>
|
|
712
|
+
</label>
|
|
713
|
+
|
|
714
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_2_label" aria-expanded="false">
|
|
715
|
+
<label class="md-nav__title" for="__nav_2_1_2">
|
|
716
|
+
<span class="md-nav__icon md-icon"></span>
|
|
717
|
+
Installation Extras
|
|
718
|
+
</label>
|
|
719
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
720
|
+
|
|
667
721
|
|
|
668
722
|
|
|
669
723
|
|
|
@@ -671,7 +725,7 @@
|
|
|
671
725
|
|
|
672
726
|
|
|
673
727
|
<li class="md-nav__item">
|
|
674
|
-
<a href="../../administration/installation/docker.html" class="md-nav__link">
|
|
728
|
+
<a href="../../administration/installation-extras/docker.html" class="md-nav__link">
|
|
675
729
|
|
|
676
730
|
|
|
677
731
|
<span class="md-ellipsis">
|
|
@@ -692,7 +746,7 @@
|
|
|
692
746
|
|
|
693
747
|
|
|
694
748
|
<li class="md-nav__item">
|
|
695
|
-
<a href="../../administration/installation/health-checks.html" class="md-nav__link">
|
|
749
|
+
<a href="../../administration/installation-extras/health-checks.html" class="md-nav__link">
|
|
696
750
|
|
|
697
751
|
|
|
698
752
|
<span class="md-ellipsis">
|
|
@@ -713,7 +767,7 @@
|
|
|
713
767
|
|
|
714
768
|
|
|
715
769
|
<li class="md-nav__item">
|
|
716
|
-
<a href="../../administration/installation/selinux-troubleshooting.html" class="md-nav__link">
|
|
770
|
+
<a href="../../administration/installation-extras/selinux-troubleshooting.html" class="md-nav__link">
|
|
717
771
|
|
|
718
772
|
|
|
719
773
|
<span class="md-ellipsis">
|
|
@@ -752,10 +806,10 @@
|
|
|
752
806
|
|
|
753
807
|
|
|
754
808
|
|
|
755
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
809
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3" >
|
|
756
810
|
|
|
757
811
|
|
|
758
|
-
<label class="md-nav__link" for="
|
|
812
|
+
<label class="md-nav__link" for="__nav_2_1_3" id="__nav_2_1_3_label" tabindex="0">
|
|
759
813
|
|
|
760
814
|
|
|
761
815
|
<span class="md-ellipsis">
|
|
@@ -766,8 +820,8 @@
|
|
|
766
820
|
<span class="md-nav__icon md-icon"></span>
|
|
767
821
|
</label>
|
|
768
822
|
|
|
769
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
770
|
-
<label class="md-nav__title" for="
|
|
823
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_3_label" aria-expanded="false">
|
|
824
|
+
<label class="md-nav__title" for="__nav_2_1_3">
|
|
771
825
|
<span class="md-nav__icon md-icon"></span>
|
|
772
826
|
Upgrading
|
|
773
827
|
</label>
|
|
@@ -832,7 +886,7 @@
|
|
|
832
886
|
|
|
833
887
|
|
|
834
888
|
|
|
835
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
889
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3_3" >
|
|
836
890
|
|
|
837
891
|
|
|
838
892
|
|
|
@@ -848,14 +902,14 @@
|
|
|
848
902
|
</a>
|
|
849
903
|
|
|
850
904
|
|
|
851
|
-
<label class="md-nav__link " for="
|
|
905
|
+
<label class="md-nav__link " for="__nav_2_1_3_3" id="__nav_2_1_3_3_label" tabindex="0">
|
|
852
906
|
<span class="md-nav__icon md-icon"></span>
|
|
853
907
|
</label>
|
|
854
908
|
|
|
855
909
|
</div>
|
|
856
910
|
|
|
857
|
-
<nav class="md-nav" data-md-level="4" aria-labelledby="
|
|
858
|
-
<label class="md-nav__title" for="
|
|
911
|
+
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_3_3_label" aria-expanded="false">
|
|
912
|
+
<label class="md-nav__title" for="__nav_2_1_3_3">
|
|
859
913
|
<span class="md-nav__icon md-icon"></span>
|
|
860
914
|
Upgrading Nautobot from v1.X to v2.0
|
|
861
915
|
</label>
|
|
@@ -899,7 +953,7 @@
|
|
|
899
953
|
|
|
900
954
|
|
|
901
955
|
|
|
902
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
956
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_3_3_2" >
|
|
903
957
|
|
|
904
958
|
|
|
905
959
|
|
|
@@ -915,14 +969,14 @@
|
|
|
915
969
|
</a>
|
|
916
970
|
|
|
917
971
|
|
|
918
|
-
<label class="md-nav__link " for="
|
|
972
|
+
<label class="md-nav__link " for="__nav_2_1_3_3_2" id="__nav_2_1_3_3_2_label" tabindex="0">
|
|
919
973
|
<span class="md-nav__icon md-icon"></span>
|
|
920
974
|
</label>
|
|
921
975
|
|
|
922
976
|
</div>
|
|
923
977
|
|
|
924
|
-
<nav class="md-nav" data-md-level="5" aria-labelledby="
|
|
925
|
-
<label class="md-nav__title" for="
|
|
978
|
+
<nav class="md-nav" data-md-level="5" aria-labelledby="__nav_2_1_3_3_2_label" aria-expanded="false">
|
|
979
|
+
<label class="md-nav__title" for="__nav_2_1_3_3_2">
|
|
926
980
|
<span class="md-nav__icon md-icon"></span>
|
|
927
981
|
IPAM Migration Guide
|
|
928
982
|
</label>
|
|
@@ -1053,10 +1107,10 @@
|
|
|
1053
1107
|
|
|
1054
1108
|
|
|
1055
1109
|
|
|
1056
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
1110
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_4" >
|
|
1057
1111
|
|
|
1058
1112
|
|
|
1059
|
-
<label class="md-nav__link" for="
|
|
1113
|
+
<label class="md-nav__link" for="__nav_2_1_4" id="__nav_2_1_4_label" tabindex="0">
|
|
1060
1114
|
|
|
1061
1115
|
|
|
1062
1116
|
<span class="md-ellipsis">
|
|
@@ -1067,8 +1121,8 @@
|
|
|
1067
1121
|
<span class="md-nav__icon md-icon"></span>
|
|
1068
1122
|
</label>
|
|
1069
1123
|
|
|
1070
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
1071
|
-
<label class="md-nav__title" for="
|
|
1124
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_4_label" aria-expanded="false">
|
|
1125
|
+
<label class="md-nav__title" for="__nav_2_1_4">
|
|
1072
1126
|
<span class="md-nav__icon md-icon"></span>
|
|
1073
1127
|
Migration
|
|
1074
1128
|
</label>
|
|
@@ -1141,7 +1195,7 @@
|
|
|
1141
1195
|
|
|
1142
1196
|
|
|
1143
1197
|
|
|
1144
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
1198
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5" >
|
|
1145
1199
|
|
|
1146
1200
|
|
|
1147
1201
|
|
|
@@ -1157,14 +1211,14 @@
|
|
|
1157
1211
|
</a>
|
|
1158
1212
|
|
|
1159
1213
|
|
|
1160
|
-
<label class="md-nav__link " for="
|
|
1214
|
+
<label class="md-nav__link " for="__nav_2_1_5" id="__nav_2_1_5_label" tabindex="0">
|
|
1161
1215
|
<span class="md-nav__icon md-icon"></span>
|
|
1162
1216
|
</label>
|
|
1163
1217
|
|
|
1164
1218
|
</div>
|
|
1165
1219
|
|
|
1166
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
1167
|
-
<label class="md-nav__title" for="
|
|
1220
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_5_label" aria-expanded="false">
|
|
1221
|
+
<label class="md-nav__title" for="__nav_2_1_5">
|
|
1168
1222
|
<span class="md-nav__icon md-icon"></span>
|
|
1169
1223
|
Configuration
|
|
1170
1224
|
</label>
|
|
@@ -1250,10 +1304,10 @@
|
|
|
1250
1304
|
|
|
1251
1305
|
|
|
1252
1306
|
|
|
1253
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
1307
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_5_4" >
|
|
1254
1308
|
|
|
1255
1309
|
|
|
1256
|
-
<label class="md-nav__link" for="
|
|
1310
|
+
<label class="md-nav__link" for="__nav_2_1_5_4" id="__nav_2_1_5_4_label" tabindex="0">
|
|
1257
1311
|
|
|
1258
1312
|
|
|
1259
1313
|
<span class="md-ellipsis">
|
|
@@ -1264,8 +1318,8 @@
|
|
|
1264
1318
|
<span class="md-nav__icon md-icon"></span>
|
|
1265
1319
|
</label>
|
|
1266
1320
|
|
|
1267
|
-
<nav class="md-nav" data-md-level="4" aria-labelledby="
|
|
1268
|
-
<label class="md-nav__title" for="
|
|
1321
|
+
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_2_1_5_4_label" aria-expanded="false">
|
|
1322
|
+
<label class="md-nav__title" for="__nav_2_1_5_4">
|
|
1269
1323
|
<span class="md-nav__icon md-icon"></span>
|
|
1270
1324
|
External Authentication
|
|
1271
1325
|
</label>
|
|
@@ -1367,10 +1421,10 @@
|
|
|
1367
1421
|
|
|
1368
1422
|
|
|
1369
1423
|
|
|
1370
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
1424
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_6" >
|
|
1371
1425
|
|
|
1372
1426
|
|
|
1373
|
-
<label class="md-nav__link" for="
|
|
1427
|
+
<label class="md-nav__link" for="__nav_2_1_6" id="__nav_2_1_6_label" tabindex="0">
|
|
1374
1428
|
|
|
1375
1429
|
|
|
1376
1430
|
<span class="md-ellipsis">
|
|
@@ -1381,8 +1435,8 @@
|
|
|
1381
1435
|
<span class="md-nav__icon md-icon"></span>
|
|
1382
1436
|
</label>
|
|
1383
1437
|
|
|
1384
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
1385
|
-
<label class="md-nav__title" for="
|
|
1438
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_6_label" aria-expanded="false">
|
|
1439
|
+
<label class="md-nav__title" for="__nav_2_1_6">
|
|
1386
1440
|
<span class="md-nav__icon md-icon"></span>
|
|
1387
1441
|
Tools
|
|
1388
1442
|
</label>
|
|
@@ -1455,10 +1509,10 @@
|
|
|
1455
1509
|
|
|
1456
1510
|
|
|
1457
1511
|
|
|
1458
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
1512
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1_7" >
|
|
1459
1513
|
|
|
1460
1514
|
|
|
1461
|
-
<label class="md-nav__link" for="
|
|
1515
|
+
<label class="md-nav__link" for="__nav_2_1_7" id="__nav_2_1_7_label" tabindex="0">
|
|
1462
1516
|
|
|
1463
1517
|
|
|
1464
1518
|
<span class="md-ellipsis">
|
|
@@ -1469,8 +1523,8 @@
|
|
|
1469
1523
|
<span class="md-nav__icon md-icon"></span>
|
|
1470
1524
|
</label>
|
|
1471
1525
|
|
|
1472
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
1473
|
-
<label class="md-nav__title" for="
|
|
1526
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_1_7_label" aria-expanded="false">
|
|
1527
|
+
<label class="md-nav__title" for="__nav_2_1_7">
|
|
1474
1528
|
<span class="md-nav__icon md-icon"></span>
|
|
1475
1529
|
Guides
|
|
1476
1530
|
</label>
|
|
@@ -7724,21 +7778,6 @@
|
|
|
7724
7778
|
</span>
|
|
7725
7779
|
</a>
|
|
7726
7780
|
|
|
7727
|
-
<nav class="md-nav" aria-label="Enabling Jobs for Running">
|
|
7728
|
-
<ul class="md-nav__list">
|
|
7729
|
-
|
|
7730
|
-
<li class="md-nav__item">
|
|
7731
|
-
<a href="#enabling-job-hooks" class="md-nav__link">
|
|
7732
|
-
<span class="md-ellipsis">
|
|
7733
|
-
Enabling Job Hooks
|
|
7734
|
-
</span>
|
|
7735
|
-
</a>
|
|
7736
|
-
|
|
7737
|
-
</li>
|
|
7738
|
-
|
|
7739
|
-
</ul>
|
|
7740
|
-
</nav>
|
|
7741
|
-
|
|
7742
7781
|
</li>
|
|
7743
7782
|
|
|
7744
7783
|
<li class="md-nav__item">
|
|
@@ -7859,16 +7898,26 @@
|
|
|
7859
7898
|
<li>Check and report whether all IP addresses have a parent prefix</li>
|
|
7860
7899
|
</ul>
|
|
7861
7900
|
<p>...and so on. Jobs are Python code and exist outside of the official Nautobot code base, so they can be updated and changed without interfering with the core Nautobot installation. And because they're completely customizable, there's practically no limit to what a job can accomplish.</p>
|
|
7862
|
-
<
|
|
7863
|
-
<
|
|
7901
|
+
<details class="version-changed">
|
|
7902
|
+
<summary>Changed in version 2.0.0</summary>
|
|
7864
7903
|
<p>Backwards compatibility with NetBox scripts and reports has been removed. This includes removal of automatic calls to the <code>post_run()</code> and <code>test_*()</code> methods.</p>
|
|
7865
|
-
</
|
|
7904
|
+
</details>
|
|
7866
7905
|
<div class="admonition note">
|
|
7867
7906
|
<p class="admonition-title">Note</p>
|
|
7868
7907
|
<p>Jobs unify and supersede the functionality previously provided in NetBox by "custom scripts" and "reports". User input is supported via <a href="../../../development/jobs/index.html#variables">job variables</a>.</p>
|
|
7869
7908
|
</div>
|
|
7870
7909
|
<h2 id="managing-jobs">Managing Jobs<a class="headerlink" href="#managing-jobs" title="Permanent link">¶</a></h2>
|
|
7871
7910
|
<p>As of Nautobot 1.3, each Job class installed in Nautobot is represented by a corresponding Job data record in the Nautobot database. These data records are refreshed when the <code>nautobot-server migrate</code> or <code>nautobot-server post_upgrade</code> command is run, or (for Jobs from a Git repository) when a Git repository is enabled or re-synced in Nautobot. These data records make it possible for an administrative user (or other user with appropriate access privileges) to exert a level of administrative control over the Jobs created and updated by Job authors.</p>
|
|
7911
|
+
<div class="admonition tip">
|
|
7912
|
+
<p class="admonition-title">Tip</p>
|
|
7913
|
+
<p>A "Job" can refer to one of two different constructs. There are both the actual Python code that implements the logic of a Job as a Python class, and the Nautobot database model that represents a given Job class in the database. In cases where the distinction between these objects is important, we refer to the first as a "Job class", and the second as a "Job model" or "Job record".</p>
|
|
7914
|
+
<p>It's important to understand this dichotomy, as actions that change one may not necessarily update the other. For example:</p>
|
|
7915
|
+
<ul>
|
|
7916
|
+
<li>Editing or replacing a Python file in your <code>JOBS_ROOT</code> directory will update the Job <em>class</em> on disk, but will not automatically refresh the Job <em>record</em> corresponding to this class - you must run <code>nautobot-server post_upgrade</code> to make this happen.</li>
|
|
7917
|
+
<li>Changing the metadata of a Job <em>record</em> (e.g., assigning it a different categorical <code>grouping</code>) is recorded as an override of the default grouping defined by the Job <em>class</em> source code; it does not in any way change the source code of the Job class.</li>
|
|
7918
|
+
</ul>
|
|
7919
|
+
<p>The Job <em>model</em> is used to enforce user permissions, present information about the Job to the user, and so forth, while actually executing the Job makes use of the Job <em>class</em> only.</p>
|
|
7920
|
+
</div>
|
|
7872
7921
|
<h3 id="enabling-jobs-for-running">Enabling Jobs for Running<a class="headerlink" href="#enabling-jobs-for-running" title="Permanent link">¶</a></h3>
|
|
7873
7922
|
<p>When a new Job record is created for a newly discovered Job class, it defaults to <code>enabled = False</code>, which prevents the Job from being run by any user. This is intended to provide a level of security and oversight regarding the installation of new Jobs into Nautobot.</p>
|
|
7874
7923
|
<div class="admonition important">
|
|
@@ -7884,18 +7933,6 @@
|
|
|
7884
7933
|
<li>In the second section titled <strong>Job</strong>, select the <strong>Enabled</strong> checkbox</li>
|
|
7885
7934
|
<li>Select <strong>Update</strong> button at the bottom</li>
|
|
7886
7935
|
</ul>
|
|
7887
|
-
<h4 id="enabling-job-hooks">Enabling Job Hooks<a class="headerlink" href="#enabling-job-hooks" title="Permanent link">¶</a></h4>
|
|
7888
|
-
<p>Job hooks are enabled in a similar fashion, but by using the <strong>default</strong> filters when navigating to the Jobs page the Job Hooks will not be visible. To enable job hooks:</p>
|
|
7889
|
-
<ul>
|
|
7890
|
-
<li>Navigate to Jobs > Jobs menu</li>
|
|
7891
|
-
<li>Select the <strong>Filter</strong> button to bring up the Filter Jobs context</li>
|
|
7892
|
-
<li>Look for <strong>Is job hook receiver</strong> and change the drop down to <strong>Yes</strong></li>
|
|
7893
|
-
<li>Select <strong>Apply</strong> button</li>
|
|
7894
|
-
<li>Select a job that has been installed</li>
|
|
7895
|
-
<li>Select <strong>Edit</strong> button</li>
|
|
7896
|
-
<li>In the second section titled <strong>Job</strong>, select the <strong>Enabled</strong> checkbox</li>
|
|
7897
|
-
<li>Select <strong>Update</strong> button at the bottom</li>
|
|
7898
|
-
</ul>
|
|
7899
7936
|
<h3 id="overriding-metadata">Overriding Metadata<a class="headerlink" href="#overriding-metadata" title="Permanent link">¶</a></h3>
|
|
7900
7937
|
<p>An administrator or user with <code>extras.change_job</code> permission can also edit a Job database record to optionally override any or all of the following metadata attributes defined by the Job module or class:</p>
|
|
7901
7938
|
<ul>
|
|
@@ -7913,6 +7950,10 @@
|
|
|
7913
7950
|
<p>This is done by setting the corresponding "override" flag (<code>grouping_override</code>, <code>name_override</code>, etc.) to <code>True</code> then providing a new value for the attribute in question. An overridden attribute will remain set to its overridden value even if the underlying Job class definition changes and <code>nautobot-server <migrate|post_upgrade></code> gets run again. Conversely, clearing the "override" flag for an attribute and saving the database record will revert the attribute to the underlying value defined within the Job class source code.</p>
|
|
7914
7951
|
<h3 id="deleting-jobs">Deleting Jobs<a class="headerlink" href="#deleting-jobs" title="Permanent link">¶</a></h3>
|
|
7915
7952
|
<p>When a previously installed Job class is removed, after running <code>nautobot-server <migrate|post_upgrade></code> or refreshing the providing Git repository, the Job database record will <em>not</em> be automatically deleted, but <em>will</em> be flagged as <code>installed = False</code> and can no longer be run or scheduled.</p>
|
|
7953
|
+
<div class="admonition note">
|
|
7954
|
+
<p class="admonition-title">Note</p>
|
|
7955
|
+
<p>The Job list view hides by default any Jobs that are not installed. To view non-installed Job records, you need to select the "Filter" button in the list view and explicitly specify the filter "Installed: No".</p>
|
|
7956
|
+
</div>
|
|
7916
7957
|
<p>An administrator or user with <code>extras.delete_job</code> permissions <em>may</em> delete such a Job database record if desired, but be aware that doing so will result in any existing JobResult or ScheduledJob records that originated from this Job losing their association to the Job; this association will not be automatically restored even if the Job is later reinstalled or reintroduced.</p>
|
|
7917
7958
|
<h2 id="running-jobs">Running Jobs<a class="headerlink" href="#running-jobs" title="Permanent link">¶</a></h2>
|
|
7918
7959
|
<div class="admonition note">
|
|
@@ -7922,13 +7963,13 @@
|
|
|
7922
7963
|
<p><img alt="Adding the run action to a permission" src="../../../media/admin_ui_run_permission.png" /></p>
|
|
7923
7964
|
</div>
|
|
7924
7965
|
<h3 id="jobs-and-class_path">Jobs and <code>class_path</code><a class="headerlink" href="#jobs-and-class_path" title="Permanent link">¶</a></h3>
|
|
7925
|
-
<
|
|
7926
|
-
<
|
|
7966
|
+
<details class="version-changed">
|
|
7967
|
+
<summary>Changed in version 2.0.0</summary>
|
|
7927
7968
|
<p>The <code>class_path</code> concept has been simplified compared to Nautobot 1.x.</p>
|
|
7928
|
-
</
|
|
7969
|
+
</details>
|
|
7929
7970
|
<p>It is a key concept to understand the 2 <code>class_path</code> elements:</p>
|
|
7930
7971
|
<ul>
|
|
7931
|
-
<li><code>module_name</code>: which is the importable Python path to the job definition (with <code>.</code> in place of <code>/</code> in the directory path, and not including the <code>.py</code> file extension, as per Python syntax standards).<ul>
|
|
7972
|
+
<li><code>module_name</code>: which is the importable Python path to the job class definition (with <code>.</code> in place of <code>/</code> in the directory path, and not including the <code>.py</code> file extension, as per Python syntax standards).<ul>
|
|
7932
7973
|
<li>For an App-provided job, this might be something like <code>my_app_name.jobs.my_job_filename</code> or <code>nautobot_golden_config.jobs</code></li>
|
|
7933
7974
|
<li>For a locally installed job, this would match the file name, such as <code>my_job_filename</code></li>
|
|
7934
7975
|
<li>For a Git-provided job, this includes the repository's defined <code>slug</code>, such as <code>my_repository.jobs.my_job_filename</code></li>
|
|
@@ -7937,27 +7978,27 @@
|
|
|
7937
7978
|
<li><code>JobClassName</code>: which is the name of the class inheriting from <code>nautobot.extras.jobs.Job</code> contained in the above file.</li>
|
|
7938
7979
|
</ul>
|
|
7939
7980
|
<p>The <code>class_path</code> is often represented as a string in the format of <code><module_name>.<JobClassName></code>, such as <code>example.MyJobWithNoVars</code> or <code>nautobot_golden_config.jobs.BackupJob</code>. Understanding the definitions of these elements will be important in running jobs programmatically.</p>
|
|
7940
|
-
<
|
|
7941
|
-
<
|
|
7981
|
+
<details class="version-changed">
|
|
7982
|
+
<summary>Changed in version 1.3.0</summary>
|
|
7942
7983
|
<p>With the addition of Job database models, it is now generally possible and preferable to refer to a job by its UUID primary key, similar to other Nautobot database models, rather than its <code>class_path</code>.</p>
|
|
7943
|
-
</
|
|
7944
|
-
<
|
|
7945
|
-
<
|
|
7984
|
+
</details>
|
|
7985
|
+
<details class="version-changed">
|
|
7986
|
+
<summary>Changed in version 2.0.0</summary>
|
|
7946
7987
|
<p>The Job database model <code>name</code> field is now enforced to be globally unique and so is also an option for uniquely identifying Job records.</p>
|
|
7947
|
-
</
|
|
7988
|
+
</details>
|
|
7948
7989
|
<h3 id="via-the-web-ui">Via the Web UI<a class="headerlink" href="#via-the-web-ui" title="Permanent link">¶</a></h3>
|
|
7949
7990
|
<p>Jobs can be run via the web UI by navigating to the job, completing any required form data (if any), and clicking the "Run Job" button.</p>
|
|
7950
7991
|
<p>Once a job has been run, the latest <a href="models.html#job-results"><code>JobResult</code></a> for that job will be summarized in the job list view.</p>
|
|
7951
7992
|
<h3 id="via-the-rest-api">Via the REST API<a class="headerlink" href="#via-the-rest-api" title="Permanent link">¶</a></h3>
|
|
7952
|
-
<
|
|
7953
|
-
<
|
|
7993
|
+
<details class="version-removed">
|
|
7994
|
+
<summary>Removed in version 2.0.0</summary>
|
|
7954
7995
|
<p>The <code>commit</code> parameter was removed. All job input should be provided via the <code>data</code> parameter.</p>
|
|
7955
|
-
</
|
|
7996
|
+
</details>
|
|
7956
7997
|
<p>To run a job via the REST API, issue a POST request to the job's endpoint <code>/api/extras/jobs/<uuid>/run/</code> <strong>or</strong> <code>/api/extras/jobs/<name>/run/</code>. You can optionally provide JSON data to specify any required user input <code>data</code>, optional <code>task_queue</code>, and/or provide optional scheduling information as described in <a href="job-scheduling-and-approvals.html">the section on scheduling and approvals</a>.</p>
|
|
7957
|
-
<
|
|
7958
|
-
<
|
|
7998
|
+
<details class="version-added">
|
|
7999
|
+
<summary>Added in version 2.0.0</summary>
|
|
7959
8000
|
<p>The <code>/api/extras/jobs/<name>/</code> REST API endpoints were added as an alternative to <code>/api/extras/jobs/<uuid>/</code>.</p>
|
|
7960
|
-
</
|
|
8001
|
+
</details>
|
|
7961
8002
|
<p>For example, to run a job, by UUID, with no user inputs:</p>
|
|
7962
8003
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>curl -X POST \
|
|
7963
8004
|
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>-H "Authorization: Token $TOKEN" \
|
|
@@ -8000,11 +8041,11 @@
|
|
|
8000
8041
|
<p class="admonition-title">Note</p>
|
|
8001
8042
|
<p><a href="#jobs-and-class_path">See above</a> for <code>class_path</code> definitions.</p>
|
|
8002
8043
|
</div>
|
|
8003
|
-
<
|
|
8004
|
-
<
|
|
8044
|
+
<details class="version-added">
|
|
8045
|
+
<summary>Added in version 1.3.10</summary>
|
|
8005
8046
|
<p>The <code>--data</code> and <code>--local</code> parameters were added.</p>
|
|
8006
8047
|
<p>The <code>--data</code> parameter must be a JSON string, e.g. <code>--data='{"string_variable": "somevalue", "integer_variable": 123}'</code></p>
|
|
8007
|
-
</
|
|
8048
|
+
</details>
|
|
8008
8049
|
<p>Using the same example shown in the API:</p>
|
|
8009
8050
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>nautobot-server runjob --username myusername example.MyJobWithNoVars
|
|
8010
8051
|
</code></pre></div>
|
|
@@ -8030,6 +8071,8 @@
|
|
|
8030
8071
|
</div>
|
|
8031
8072
|
|
|
8032
8073
|
|
|
8074
|
+
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var tab,labels=set.querySelector(".tabbed-labels");for(tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
|
|
8075
|
+
|
|
8033
8076
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
8034
8077
|
</div>
|
|
8035
8078
|
|
|
@@ -8107,7 +8150,7 @@
|
|
|
8107
8150
|
|
|
8108
8151
|
|
|
8109
8152
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
8110
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.
|
|
8153
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
|
|
8111
8154
|
</a>
|
|
8112
8155
|
|
|
8113
8156
|
|
|
@@ -8115,7 +8158,7 @@
|
|
|
8115
8158
|
|
|
8116
8159
|
|
|
8117
8160
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
8118
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.
|
|
8161
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
|
|
8119
8162
|
</a>
|
|
8120
8163
|
|
|
8121
8164
|
|
|
@@ -8123,7 +8166,7 @@
|
|
|
8123
8166
|
|
|
8124
8167
|
|
|
8125
8168
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
8126
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.
|
|
8169
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
|
|
8127
8170
|
</a>
|
|
8128
8171
|
|
|
8129
8172
|
|
|
@@ -8131,7 +8174,7 @@
|
|
|
8131
8174
|
|
|
8132
8175
|
|
|
8133
8176
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
8134
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.
|
|
8177
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
|
8135
8178
|
</a>
|
|
8136
8179
|
|
|
8137
8180
|
|
|
@@ -8139,7 +8182,7 @@
|
|
|
8139
8182
|
|
|
8140
8183
|
|
|
8141
8184
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
8142
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.
|
|
8185
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.5.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
|
|
8143
8186
|
</a>
|
|
8144
8187
|
|
|
8145
8188
|
</div>
|
|
@@ -8154,10 +8197,10 @@
|
|
|
8154
8197
|
</div>
|
|
8155
8198
|
|
|
8156
8199
|
|
|
8157
|
-
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
8200
|
+
<script id="__config" type="application/json">{"base": "../../..", "features": ["content.code.copy", "content.tabs.link", "navigation.footer", "navigation.tabs", "navigation.tabs.sticky", "navigation.tracking", "search.highlight", "search.share", "search.suggest"], "search": "../../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
8158
8201
|
|
|
8159
8202
|
|
|
8160
|
-
<script src="../../../assets/javascripts/bundle.
|
|
8203
|
+
<script src="../../../assets/javascripts/bundle.3220b9d7.min.js"></script>
|
|
8161
8204
|
|
|
8162
8205
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
8163
8206
|
|