nautobot 2.3.16__py3-none-any.whl → 2.4.0__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/__init__.py +15 -0
- nautobot/apps/__init__.py +1 -1
- nautobot/apps/api.py +8 -10
- nautobot/apps/change_logging.py +2 -2
- nautobot/apps/choices.py +4 -4
- nautobot/apps/config.py +32 -3
- nautobot/apps/events.py +19 -0
- nautobot/apps/exceptions.py +0 -2
- nautobot/apps/factory.py +2 -2
- nautobot/apps/filters.py +1 -1
- nautobot/apps/forms.py +20 -20
- nautobot/apps/graphql.py +2 -2
- nautobot/apps/jobs.py +8 -8
- nautobot/apps/models.py +19 -19
- nautobot/apps/tables.py +1 -1
- nautobot/apps/testing.py +10 -10
- nautobot/apps/ui.py +44 -9
- nautobot/apps/utils.py +7 -15
- nautobot/apps/views.py +8 -6
- nautobot/circuits/api/serializers.py +1 -0
- nautobot/circuits/api/views.py +4 -8
- nautobot/circuits/navigation.py +0 -57
- nautobot/circuits/templates/circuits/circuit_create.html +1 -7
- nautobot/circuits/templates/circuits/circuit_retrieve.html +0 -71
- nautobot/circuits/templates/circuits/inc/circuit_termination.html +6 -64
- nautobot/circuits/templates/circuits/inc/circuit_termination_cable_fragment.html +40 -0
- nautobot/circuits/templates/circuits/inc/circuit_termination_header_extra_content.html +26 -0
- nautobot/circuits/templates/circuits/provider_retrieve.html +0 -76
- nautobot/circuits/tests/integration/test_relationships.py +33 -24
- nautobot/circuits/tests/test_filters.py +4 -8
- nautobot/circuits/views.py +140 -23
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/factory.py +4 -1
- nautobot/cloud/tests/test_filters.py +5 -4
- nautobot/cloud/views.py +0 -16
- nautobot/core/api/constants.py +11 -0
- nautobot/core/api/filter_backends.py +3 -9
- nautobot/core/api/metadata.py +28 -256
- nautobot/core/api/pagination.py +3 -2
- nautobot/core/api/renderers.py +3 -0
- nautobot/core/api/schema.py +13 -2
- nautobot/core/api/serializers.py +45 -259
- nautobot/core/api/urls.py +3 -4
- nautobot/core/api/utils.py +0 -62
- nautobot/core/api/views.py +99 -157
- nautobot/core/apps/__init__.py +22 -578
- nautobot/core/celery/__init__.py +13 -0
- nautobot/core/celery/schedulers.py +47 -2
- nautobot/core/choices.py +2 -2
- nautobot/core/cli/__init__.py +8 -0
- nautobot/core/constants.py +7 -0
- nautobot/core/events/__init__.py +116 -0
- nautobot/core/events/base.py +27 -0
- nautobot/core/events/exceptions.py +10 -0
- nautobot/core/events/redis_broker.py +48 -0
- nautobot/core/events/syslog_broker.py +19 -0
- nautobot/core/exceptions.py +0 -6
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +57 -9
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/forms/utils.py +2 -1
- nautobot/core/graphql/schema.py +3 -1
- nautobot/core/jobs/__init__.py +24 -3
- nautobot/core/jobs/bulk_actions.py +248 -0
- nautobot/core/jobs/cleanup.py +1 -1
- nautobot/core/management/commands/generate_test_data.py +21 -0
- nautobot/core/middleware.py +16 -0
- nautobot/core/models/fields.py +11 -7
- nautobot/core/settings.py +68 -4
- nautobot/core/settings.yaml +99 -0
- nautobot/core/tables.py +10 -46
- nautobot/core/tasks.py +1 -1
- nautobot/core/templates/about.html +67 -0
- nautobot/core/templates/components/button/default.html +7 -0
- nautobot/core/templates/components/button/dropdown.html +20 -0
- nautobot/core/templates/components/layout/one_over_two.html +19 -0
- nautobot/core/templates/components/layout/two_over_one.html +19 -0
- nautobot/core/templates/components/panel/body_content_data_table.html +27 -0
- nautobot/core/templates/components/panel/body_content_objects_table.html +4 -0
- nautobot/core/templates/components/panel/body_content_tags.html +6 -0
- nautobot/core/templates/components/panel/body_content_text.html +12 -0
- nautobot/core/templates/components/panel/body_wrapper_generic.html +3 -0
- nautobot/core/templates/components/panel/body_wrapper_key_value_table.html +3 -0
- nautobot/core/templates/components/panel/body_wrapper_table.html +3 -0
- nautobot/core/templates/components/panel/footer_contacts_table.html +20 -0
- nautobot/core/templates/components/panel/footer_content_table.html +14 -0
- nautobot/core/templates/components/panel/grouping_toggle.html +14 -0
- nautobot/core/templates/components/panel/header_extra_content_table.html +3 -0
- nautobot/core/templates/components/panel/panel.html +16 -0
- nautobot/core/templates/components/panel/stats_panel_body.html +8 -0
- nautobot/core/templates/components/tab/content_wrapper.html +3 -0
- nautobot/core/templates/components/tab/label_wrapper.html +5 -0
- nautobot/core/templates/components/tab/label_wrapper_distinct_view.html +3 -0
- nautobot/core/templates/generic/object_retrieve.html +28 -17
- nautobot/core/templates/inc/computed_fields/panel_data.html +4 -7
- nautobot/core/templates/inc/custom_fields/panel.html +2 -2
- nautobot/core/templates/inc/custom_fields/panel_data.html +4 -7
- nautobot/core/templates/inc/footer.html +1 -0
- nautobot/core/templates/inc/nav_menu.html +2 -1
- nautobot/core/templates/inc/relationships_panel.html +1 -1
- nautobot/core/templates/inc/tenancy_form_panel.html +9 -0
- nautobot/core/templates/inc/tenant_table_row.html +11 -0
- nautobot/core/templates/nautobot_config.py.j2 +13 -0
- nautobot/core/templates/panel_table.html +12 -0
- nautobot/core/templates/utilities/render_jinja2.html +117 -0
- nautobot/core/templates/utilities/templatetags/tag.html +1 -1
- nautobot/core/templates/utilities/theme_preview.html +7 -0
- nautobot/core/templatetags/helpers.py +104 -6
- nautobot/core/templatetags/ui_framework.py +40 -0
- nautobot/core/testing/__init__.py +8 -8
- nautobot/core/testing/api.py +187 -137
- nautobot/core/testing/context.py +18 -0
- nautobot/core/testing/filters.py +41 -35
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/views.py +65 -148
- nautobot/core/tests/integration/test_view_authentication.py +1 -1
- nautobot/core/tests/nautobot_config.py +198 -0
- nautobot/core/tests/runner.py +2 -2
- nautobot/core/tests/test_api.py +154 -176
- nautobot/core/tests/test_events.py +214 -0
- nautobot/core/tests/test_forms.py +1 -0
- nautobot/core/tests/test_jinja_filters.py +1 -0
- nautobot/core/tests/test_jobs.py +387 -14
- nautobot/core/tests/test_navigations.py +7 -241
- nautobot/core/tests/test_settings_schema.py +7 -0
- nautobot/core/tests/test_tables.py +100 -0
- nautobot/core/tests/test_templatetags_helpers.py +16 -0
- nautobot/core/tests/test_ui.py +150 -0
- nautobot/core/tests/test_utils.py +55 -18
- nautobot/core/tests/test_views.py +124 -5
- nautobot/core/ui/__init__.py +0 -0
- nautobot/core/ui/base.py +11 -0
- nautobot/core/ui/choices.py +44 -0
- nautobot/core/ui/homepage.py +167 -0
- nautobot/core/ui/nav.py +280 -0
- nautobot/core/ui/object_detail.py +1855 -0
- nautobot/core/ui/utils.py +36 -0
- nautobot/core/urls.py +6 -0
- nautobot/core/utils/config.py +30 -3
- nautobot/core/utils/lookup.py +12 -2
- nautobot/core/utils/querysets.py +64 -0
- nautobot/core/utils/requests.py +24 -9
- nautobot/core/views/__init__.py +48 -1
- nautobot/core/views/generic.py +37 -140
- nautobot/core/views/mixins.py +82 -32
- nautobot/core/views/paginator.py +8 -5
- nautobot/core/views/renderers.py +9 -9
- nautobot/core/views/utils.py +11 -0
- nautobot/core/wsgi.py +3 -3
- nautobot/dcim/api/serializers.py +34 -141
- nautobot/dcim/api/urls.py +5 -0
- nautobot/dcim/api/views.py +57 -110
- nautobot/dcim/apps.py +1 -0
- nautobot/dcim/choices.py +28 -0
- nautobot/dcim/factory.py +58 -0
- nautobot/dcim/filters/__init__.py +204 -2
- nautobot/dcim/forms.py +219 -9
- nautobot/dcim/migrations/0063_interfacevdcassignment_virtualdevicecontext_and_more.py +165 -0
- nautobot/dcim/migrations/0064_virtualdevicecontext_status_data_migration.py +28 -0
- nautobot/dcim/migrations/0065_controller_capabilities_and_more.py +29 -0
- nautobot/dcim/migrations/0066_controllermanageddevicegroup_radio_profiles_and_more.py +33 -0
- nautobot/dcim/migrations/0067_controllermanageddevicegroup_tenant.py +25 -0
- nautobot/dcim/models/__init__.py +5 -1
- nautobot/dcim/models/devices.py +180 -2
- nautobot/dcim/models/racks.py +2 -2
- nautobot/dcim/navigation.py +25 -224
- nautobot/dcim/signals.py +44 -0
- nautobot/dcim/tables/__init__.py +2 -0
- nautobot/dcim/tables/devices.py +103 -7
- nautobot/dcim/tables/racks.py +1 -1
- nautobot/dcim/templates/dcim/controller/base.html +10 -0
- nautobot/dcim/templates/dcim/controller_create.html +2 -7
- nautobot/dcim/templates/dcim/controller_retrieve.html +6 -10
- nautobot/dcim/templates/dcim/controller_wirelessnetworks.html +25 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_create.html +68 -0
- nautobot/dcim/templates/dcim/controllermanageddevicegroup_retrieve.html +51 -0
- nautobot/dcim/templates/dcim/device/base.html +6 -42
- nautobot/dcim/templates/dcim/device/wireless.html +73 -0
- nautobot/dcim/templates/dcim/device.html +4 -10
- nautobot/dcim/templates/dcim/device_edit.html +36 -37
- nautobot/dcim/templates/dcim/interface.html +1 -0
- nautobot/dcim/templates/dcim/interface_edit.html +1 -0
- nautobot/dcim/templates/dcim/location.html +1 -9
- nautobot/dcim/templates/dcim/location_edit.html +1 -7
- nautobot/dcim/templates/dcim/locationtype.html +0 -107
- nautobot/dcim/templates/dcim/locationtype_retrieve.html +8 -0
- nautobot/dcim/templates/dcim/rack.html +1 -9
- nautobot/dcim/templates/dcim/rack_edit.html +1 -7
- nautobot/dcim/templates/dcim/rackreservation.html +1 -9
- nautobot/dcim/templates/dcim/virtualdevicecontext_retrieve.html +68 -0
- nautobot/dcim/templates/dcim/virtualdevicecontext_update.html +28 -0
- nautobot/dcim/tests/integration/test_controller.py +62 -0
- nautobot/dcim/tests/integration/test_controller_managed_device_group.py +71 -0
- nautobot/dcim/tests/test_api.py +188 -64
- nautobot/dcim/tests/test_filters.py +171 -76
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +157 -6
- nautobot/dcim/tests/test_signals.py +1 -0
- nautobot/dcim/tests/test_views.py +118 -88
- nautobot/dcim/urls.py +72 -27
- nautobot/dcim/utils.py +2 -2
- nautobot/dcim/views.py +356 -61
- nautobot/extras/api/serializers.py +39 -18
- nautobot/extras/api/urls.py +4 -0
- nautobot/extras/api/views.py +89 -31
- nautobot/extras/choices.py +13 -0
- nautobot/extras/constants.py +2 -1
- nautobot/extras/context_managers.py +23 -6
- nautobot/extras/datasources/git.py +4 -1
- nautobot/extras/factory.py +27 -0
- nautobot/extras/filters/__init__.py +66 -5
- nautobot/extras/forms/base.py +2 -2
- nautobot/extras/forms/forms.py +262 -59
- nautobot/extras/forms/mixins.py +2 -2
- nautobot/extras/graphql/types.py +25 -1
- nautobot/extras/jobs.py +109 -15
- nautobot/extras/management/__init__.py +1 -0
- nautobot/extras/management/commands/runjob.py +7 -79
- nautobot/extras/management/commands/runjob_with_job_result.py +46 -0
- nautobot/extras/management/utils.py +87 -0
- nautobot/extras/migrations/0117_create_job_queue_model.py +129 -0
- nautobot/extras/migrations/0118_task_queue_to_job_queue_migration.py +78 -0
- nautobot/extras/migrations/0119_remove_task_queues_from_job_and_queue_from_scheduled_job.py +28 -0
- nautobot/extras/migrations/0120_job_is_singleton_job_is_singleton_override.py +22 -0
- nautobot/extras/migrations/0121_alter_team_contacts.py +17 -0
- nautobot/extras/models/__init__.py +5 -1
- nautobot/extras/models/change_logging.py +7 -3
- nautobot/extras/models/contacts.py +1 -1
- nautobot/extras/models/groups.py +0 -2
- nautobot/extras/models/jobs.py +233 -33
- nautobot/extras/models/relationships.py +69 -1
- nautobot/extras/models/secrets.py +5 -0
- nautobot/extras/navigation.py +20 -262
- nautobot/extras/plugins/__init__.py +54 -19
- nautobot/extras/plugins/marketplace_manifest.yml +455 -0
- nautobot/extras/plugins/tables.py +16 -14
- nautobot/extras/plugins/urls.py +1 -0
- nautobot/extras/plugins/views.py +103 -60
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/signals.py +39 -1
- nautobot/extras/tables.py +37 -1
- nautobot/extras/templates/extras/dynamicgroup.html +1 -9
- nautobot/extras/templates/extras/externalintegration_retrieve.html +0 -47
- nautobot/extras/templates/extras/inc/tags_panel.html +1 -5
- nautobot/extras/templates/extras/job_bulk_edit.html +2 -1
- nautobot/extras/templates/extras/job_detail.html +52 -6
- nautobot/extras/templates/extras/job_edit.html +6 -2
- nautobot/extras/templates/extras/job_list.html +2 -7
- nautobot/extras/templates/extras/jobqueue_retrieve.html +36 -0
- nautobot/extras/templates/extras/marketplace.html +296 -0
- nautobot/extras/templates/extras/plugin_detail.html +32 -15
- nautobot/extras/templates/extras/plugins_list.html +35 -1
- nautobot/extras/templates/extras/plugins_tiles.html +90 -0
- nautobot/extras/templates/extras/role_retrieve.html +16 -0
- nautobot/extras/templates/extras/secret.html +0 -65
- nautobot/extras/templates/extras/secret_check.js +16 -0
- nautobot/extras/templates/extras/secret_create.html +114 -0
- nautobot/extras/templates/extras/secret_edit.html +1 -114
- nautobot/extras/templates/extras/secretsgroup_edit.html +1 -1
- nautobot/extras/templates/extras/templatetags/plugin_object_detail_tabs.html +2 -0
- nautobot/extras/templatetags/job_buttons.py +5 -4
- nautobot/extras/templatetags/plugins.py +69 -6
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/tests/test_api.py +145 -43
- nautobot/extras/tests/test_context_managers.py +4 -1
- nautobot/extras/tests/test_filters.py +213 -529
- nautobot/extras/tests/test_job_variables.py +73 -152
- nautobot/extras/tests/test_jobs.py +181 -51
- nautobot/extras/tests/test_models.py +61 -6
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +123 -9
- nautobot/extras/tests/test_utils.py +23 -2
- nautobot/extras/tests/test_views.py +146 -145
- nautobot/extras/tests/test_webhooks.py +2 -1
- nautobot/extras/urls.py +2 -20
- nautobot/extras/utils.py +119 -4
- nautobot/extras/views.py +168 -125
- nautobot/extras/webhooks.py +5 -2
- nautobot/ipam/api/serializers.py +10 -103
- nautobot/ipam/api/views.py +31 -49
- nautobot/ipam/factory.py +1 -1
- nautobot/ipam/filters.py +3 -2
- nautobot/ipam/models.py +10 -12
- nautobot/ipam/navigation.py +0 -90
- nautobot/ipam/tables.py +3 -1
- nautobot/ipam/templates/ipam/ipaddress.html +1 -9
- nautobot/ipam/templates/ipam/ipaddress_bulk_add.html +1 -7
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -7
- nautobot/ipam/templates/ipam/prefix.html +1 -9
- nautobot/ipam/templates/ipam/prefix_edit.html +1 -7
- nautobot/ipam/templates/ipam/routetarget.html +0 -28
- nautobot/ipam/templates/ipam/vlan.html +1 -9
- nautobot/ipam/templates/ipam/vlan_edit.html +1 -7
- nautobot/ipam/templates/ipam/vrf.html +0 -47
- nautobot/ipam/templates/ipam/vrf_edit.html +1 -7
- nautobot/ipam/tests/test_api.py +7 -5
- nautobot/ipam/tests/test_filters.py +39 -119
- nautobot/ipam/tests/test_forms.py +0 -2
- nautobot/ipam/tests/test_models.py +56 -36
- nautobot/ipam/tests/test_views.py +3 -0
- nautobot/ipam/urls.py +3 -69
- nautobot/ipam/utils/__init__.py +16 -10
- nautobot/ipam/views.py +91 -162
- 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.map +1 -1
- nautobot/project-static/bootstrap-3.4.1-dist/css/bootstrap.css +40 -2
- 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 +38 -3
- nautobot/project-static/docs/404.html +461 -17
- nautobot/project-static/docs/apps/index.html +461 -17
- nautobot/project-static/docs/apps/nautobot-apps.html +462 -19
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/extra.css +5 -1
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +477 -23
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +474 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +790 -289
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +505 -31
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +510 -34
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +471 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +467 -18
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +497 -33
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9883 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +523 -75
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +546 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +670 -94
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +1030 -177
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +524 -49
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +874 -188
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +955 -235
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +475 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +486 -28
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +661 -99
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +947 -479
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +6425 -1234
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +474 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +877 -344
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +828 -171
- nautobot/project-static/docs/development/apps/api/configuration-view.html +461 -17
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +461 -17
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +461 -17
- nautobot/project-static/docs/development/apps/api/models/global-search.html +461 -17
- nautobot/project-static/docs/development/apps/api/models/graphql.html +461 -17
- nautobot/project-static/docs/development/apps/api/models/index.html +461 -17
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +461 -17
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +461 -17
- nautobot/project-static/docs/development/apps/api/prometheus.html +461 -17
- nautobot/project-static/docs/development/apps/api/setup.html +465 -153
- nautobot/project-static/docs/development/apps/api/testing.html +461 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +461 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +461 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +461 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +461 -17
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +741 -128
- nautobot/project-static/docs/development/apps/api/views/base-template.html +461 -17
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +461 -17
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +461 -17
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +461 -17
- nautobot/project-static/docs/development/apps/api/views/index.html +463 -18
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +465 -17
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +491 -17
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +461 -17
- nautobot/project-static/docs/development/apps/api/views/notes.html +461 -17
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +467 -19
- nautobot/project-static/docs/development/apps/api/views/urls.html +461 -17
- nautobot/project-static/docs/development/apps/index.html +461 -17
- nautobot/project-static/docs/development/apps/migration/code-updates.html +462 -50
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +462 -18
- nautobot/project-static/docs/development/apps/migration/from-v1.html +461 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +461 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +461 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +461 -17
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +464 -20
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/best-practices.html +9261 -0
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/custom-content.html +9375 -0
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/index.html +9671 -0
- nautobot/project-static/docs/development/apps/migration/ui-component-framework/migration-steps.html +9559 -0
- nautobot/project-static/docs/development/apps/porting-from-netbox.html +464 -20
- nautobot/project-static/docs/development/core/application-registry.html +461 -17
- nautobot/project-static/docs/development/core/best-practices.html +461 -17
- nautobot/project-static/docs/development/core/bootstrap-ui.html +461 -17
- nautobot/project-static/docs/development/core/caching.html +461 -17
- nautobot/project-static/docs/development/core/controllers.html +463 -17
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +464 -20
- nautobot/project-static/docs/development/core/generic-views.html +461 -17
- nautobot/project-static/docs/development/core/getting-started.html +539 -127
- nautobot/project-static/docs/development/core/homepage.html +472 -28
- nautobot/project-static/docs/development/core/index.html +461 -17
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9754 -0
- nautobot/project-static/docs/development/core/model-checklist.html +471 -25
- nautobot/project-static/docs/development/core/model-features.html +461 -17
- nautobot/project-static/docs/development/core/natural-keys.html +461 -17
- nautobot/project-static/docs/development/core/navigation-menu.html +478 -24
- nautobot/project-static/docs/development/core/release-checklist.html +478 -46
- nautobot/project-static/docs/development/core/role-internals.html +461 -17
- nautobot/project-static/docs/development/core/settings.html +461 -17
- nautobot/project-static/docs/development/core/style-guide.html +464 -20
- nautobot/project-static/docs/development/core/templates.html +471 -20
- nautobot/project-static/docs/development/core/testing.html +461 -17
- nautobot/project-static/docs/development/core/ui-component-framework.html +11116 -0
- nautobot/project-static/docs/development/core/user-preferences.html +464 -20
- nautobot/project-static/docs/development/index.html +461 -17
- nautobot/project-static/docs/development/jobs/index.html +499 -19
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +461 -17
- nautobot/project-static/docs/index.html +469 -36
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_edit_button.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_list_view.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_add.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_queue_config.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_completed.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_nav.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_result_pending.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_job_run_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_nautobot_login.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_job.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_run_scheduled_job_form.png +0 -0
- nautobot/project-static/docs/media/development/core/kubernetes/k8s_scheduled_job_result.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/basic-panel-layout.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/button-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/buttons-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/cluster-type-before-after-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/dropdown-button-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/grouped-key-value-table-panel-example-1.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/grouped-key-value-table-panel-example-2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/object-fields-panel-example_2.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example-code.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/stats-panel-example.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/table-panels-family.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/text-panels-family.png +0 -0
- nautobot/project-static/docs/media/development/core/ui-component-framework/ui-framework-example.png +0 -0
- nautobot/project-static/docs/media/models/virtual_device_context_overview.drawio +73 -0
- nautobot/project-static/docs/media/models/virtual_device_context_overview.png +0 -0
- nautobot/project-static/docs/models/dcim/virtualdevicecontext.html +14 -0
- nautobot/project-static/docs/models/extras/jobqueue.html +14 -0
- nautobot/project-static/docs/models/wireless/radioprofile.html +14 -0
- nautobot/project-static/docs/models/wireless/supporteddatarate.html +14 -0
- nautobot/project-static/docs/models/wireless/wirelessnetwork.html +14 -0
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/overview/application_stack.html +467 -21
- nautobot/project-static/docs/overview/design_philosophy.html +461 -17
- nautobot/project-static/docs/release-notes/index.html +483 -20
- nautobot/project-static/docs/release-notes/version-1.0.html +649 -206
- nautobot/project-static/docs/release-notes/version-1.1.html +646 -203
- nautobot/project-static/docs/release-notes/version-1.2.html +721 -278
- nautobot/project-static/docs/release-notes/version-1.3.html +747 -304
- nautobot/project-static/docs/release-notes/version-1.4.html +832 -390
- nautobot/project-static/docs/release-notes/version-1.5.html +1020 -579
- nautobot/project-static/docs/release-notes/version-1.6.html +940 -516
- nautobot/project-static/docs/release-notes/version-2.0.html +943 -502
- nautobot/project-static/docs/release-notes/version-2.1.html +778 -337
- nautobot/project-static/docs/release-notes/version-2.2.html +771 -330
- nautobot/project-static/docs/release-notes/version-2.3.html +914 -471
- nautobot/project-static/docs/release-notes/version-2.4.html +10323 -0
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +342 -270
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/ldap.html +461 -17
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +461 -17
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +461 -17
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +473 -30
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +461 -17
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +842 -155
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +474 -27
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +461 -17
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +461 -17
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +461 -17
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +461 -17
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +481 -21
- nautobot/project-static/docs/user-guide/administration/installation/index.html +466 -18
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +462 -18
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +461 -17
- nautobot/project-static/docs/user-guide/administration/installation/services.html +461 -17
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +461 -17
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +482 -39
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +475 -64
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +475 -64
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +464 -21
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/tables/v2-code-nautobot-app-location.yaml +0 -16
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/upgrading-from-nautobot-v1.html +461 -17
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +467 -19
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +497 -18
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +487 -20
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualdevicecontext.html +9375 -0
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontext.html +468 -28
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +464 -20
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +461 -17
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +464 -20
- nautobot/project-static/docs/user-guide/core-data-model/wireless/index.html +9313 -0
- nautobot/project-static/docs/user-guide/core-data-model/wireless/radioprofile.html +9217 -0
- nautobot/project-static/docs/user-guide/core-data-model/wireless/supporteddatarate.html +9211 -0
- nautobot/project-static/docs/user-guide/core-data-model/wireless/wirelessnetwork.html +9277 -0
- nautobot/project-static/docs/user-guide/feature-guides/contacts-and-teams.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +466 -20
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/central-mode.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/device-group-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/radio-profile-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/supported-data-rate-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-1.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-controller-create-2.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-add.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/images/wireless/wireless-network-create.png +0 -0
- nautobot/project-static/docs/user-guide/feature-guides/ip-address-merge-tool.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +461 -17
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +464 -20
- nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9444 -0
- nautobot/project-static/docs/user-guide/index.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +464 -20
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +465 -21
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +9617 -0
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +464 -20
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +470 -21
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +464 -20
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +464 -20
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobqueue.html +9224 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/kubernetes-job-support.html +9722 -0
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/models.html +464 -20
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +465 -21
- nautobot/project-static/docs/user-guide/platform-functionality/rendering-jinja-templates.html +9292 -0
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/authentication.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +509 -38
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +492 -21
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +464 -20
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +529 -54
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +461 -17
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +461 -17
- nautobot/project-static/img/jinja_logo.svg +97 -0
- nautobot/project-static/js/forms.js +6 -1
- nautobot/project-static/js/nav_menu.js +2 -1
- nautobot/tenancy/api/serializers.py +0 -2
- nautobot/tenancy/api/views.py +9 -13
- nautobot/tenancy/factory.py +1 -1
- nautobot/tenancy/navigation.py +0 -29
- nautobot/tenancy/templates/tenancy/tenant.html +4 -91
- nautobot/tenancy/tests/test_filters.py +29 -134
- nautobot/tenancy/views.py +35 -24
- nautobot/users/admin.py +2 -0
- nautobot/users/api/views.py +2 -2
- nautobot/users/forms.py +19 -0
- nautobot/users/templates/users/preferences.html +22 -0
- nautobot/users/tests/test_filters.py +1 -19
- nautobot/users/tests/test_views.py +57 -0
- nautobot/users/utils.py +8 -0
- nautobot/users/views.py +48 -11
- nautobot/virtualization/api/views.py +5 -24
- nautobot/virtualization/filters.py +1 -2
- nautobot/virtualization/models.py +1 -1
- nautobot/virtualization/navigation.py +0 -48
- nautobot/virtualization/tables.py +2 -2
- nautobot/virtualization/templates/virtualization/cluster_edit.html +1 -7
- nautobot/virtualization/templates/virtualization/clustertype.html +0 -39
- nautobot/virtualization/templates/virtualization/virtualmachine.html +1 -9
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +2 -8
- nautobot/virtualization/tests/test_filters.py +57 -166
- nautobot/virtualization/views.py +18 -15
- nautobot/wireless/__init__.py +0 -0
- nautobot/wireless/api/__init__.py +0 -0
- nautobot/wireless/api/serializers.py +44 -0
- nautobot/wireless/api/urls.py +20 -0
- nautobot/wireless/api/views.py +34 -0
- nautobot/wireless/apps.py +8 -0
- nautobot/wireless/choices.py +345 -0
- nautobot/wireless/factory.py +138 -0
- nautobot/wireless/filters.py +167 -0
- nautobot/wireless/forms.py +283 -0
- nautobot/wireless/homepage.py +19 -0
- nautobot/wireless/migrations/0001_initial.py +223 -0
- nautobot/wireless/migrations/__init__.py +0 -0
- nautobot/wireless/models.py +207 -0
- nautobot/wireless/navigation.py +105 -0
- nautobot/wireless/tables.py +244 -0
- nautobot/wireless/templates/wireless/radioprofile_retrieve.html +81 -0
- nautobot/wireless/templates/wireless/supporteddatarate_retrieve.html +26 -0
- nautobot/wireless/templates/wireless/wirelessnetwork_create.html +88 -0
- nautobot/wireless/templates/wireless/wirelessnetwork_retrieve.html +56 -0
- nautobot/wireless/tests/__init__.py +0 -0
- nautobot/wireless/tests/integration/__init__.py +0 -0
- nautobot/wireless/tests/integration/test_radio_profile.py +42 -0
- nautobot/wireless/tests/test_api.py +247 -0
- nautobot/wireless/tests/test_filters.py +82 -0
- nautobot/wireless/tests/test_models.py +22 -0
- nautobot/wireless/tests/test_views.py +378 -0
- nautobot/wireless/urls.py +13 -0
- nautobot/wireless/views.py +119 -0
- {nautobot-2.3.16.dist-info → nautobot-2.4.0.dist-info}/METADATA +9 -12
- {nautobot-2.3.16.dist-info → nautobot-2.4.0.dist-info}/RECORD +720 -549
- nautobot/core/utils/navigation.py +0 -54
- {nautobot-2.3.16.dist-info → nautobot-2.4.0.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.3.16.dist-info → nautobot-2.4.0.dist-info}/NOTICE +0 -0
- {nautobot-2.3.16.dist-info → nautobot-2.4.0.dist-info}/WHEEL +0 -0
- {nautobot-2.3.16.dist-info → nautobot-2.4.0.dist-info}/entry_points.txt +0 -0
|
@@ -2112,6 +2112,27 @@
|
|
|
2112
2112
|
|
|
2113
2113
|
|
|
2114
2114
|
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
<li class="md-nav__item">
|
|
2122
|
+
<a href="../../user-guide/feature-guides/wireless-networks-and-controllers.html" class="md-nav__link">
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
<span class="md-ellipsis">
|
|
2126
|
+
Wireless Networks and Controllers
|
|
2127
|
+
</span>
|
|
2128
|
+
|
|
2129
|
+
|
|
2130
|
+
</a>
|
|
2131
|
+
</li>
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2115
2136
|
</ul>
|
|
2116
2137
|
</nav>
|
|
2117
2138
|
|
|
@@ -3944,6 +3965,27 @@
|
|
|
3944
3965
|
|
|
3945
3966
|
|
|
3946
3967
|
|
|
3968
|
+
|
|
3969
|
+
|
|
3970
|
+
|
|
3971
|
+
|
|
3972
|
+
|
|
3973
|
+
|
|
3974
|
+
<li class="md-nav__item">
|
|
3975
|
+
<a href="../../user-guide/core-data-model/dcim/virtualdevicecontext.html" class="md-nav__link">
|
|
3976
|
+
|
|
3977
|
+
|
|
3978
|
+
<span class="md-ellipsis">
|
|
3979
|
+
Virtual Device Context
|
|
3980
|
+
</span>
|
|
3981
|
+
|
|
3982
|
+
|
|
3983
|
+
</a>
|
|
3984
|
+
</li>
|
|
3985
|
+
|
|
3986
|
+
|
|
3987
|
+
|
|
3988
|
+
|
|
3947
3989
|
</ul>
|
|
3948
3990
|
</nav>
|
|
3949
3991
|
|
|
@@ -4556,6 +4598,123 @@
|
|
|
4556
4598
|
|
|
4557
4599
|
|
|
4558
4600
|
|
|
4601
|
+
|
|
4602
|
+
|
|
4603
|
+
|
|
4604
|
+
|
|
4605
|
+
|
|
4606
|
+
|
|
4607
|
+
|
|
4608
|
+
|
|
4609
|
+
|
|
4610
|
+
|
|
4611
|
+
|
|
4612
|
+
|
|
4613
|
+
|
|
4614
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
4615
|
+
|
|
4616
|
+
|
|
4617
|
+
|
|
4618
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3_9" >
|
|
4619
|
+
|
|
4620
|
+
|
|
4621
|
+
|
|
4622
|
+
<div class="md-nav__link md-nav__container">
|
|
4623
|
+
<a href="../../user-guide/core-data-model/wireless/index.html" class="md-nav__link ">
|
|
4624
|
+
|
|
4625
|
+
|
|
4626
|
+
<span class="md-ellipsis">
|
|
4627
|
+
Wireless
|
|
4628
|
+
</span>
|
|
4629
|
+
|
|
4630
|
+
|
|
4631
|
+
</a>
|
|
4632
|
+
|
|
4633
|
+
|
|
4634
|
+
<label class="md-nav__link " for="__nav_2_3_9" id="__nav_2_3_9_label" tabindex="0">
|
|
4635
|
+
<span class="md-nav__icon md-icon"></span>
|
|
4636
|
+
</label>
|
|
4637
|
+
|
|
4638
|
+
</div>
|
|
4639
|
+
|
|
4640
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_3_9_label" aria-expanded="false">
|
|
4641
|
+
<label class="md-nav__title" for="__nav_2_3_9">
|
|
4642
|
+
<span class="md-nav__icon md-icon"></span>
|
|
4643
|
+
Wireless
|
|
4644
|
+
</label>
|
|
4645
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
4646
|
+
|
|
4647
|
+
|
|
4648
|
+
|
|
4649
|
+
|
|
4650
|
+
|
|
4651
|
+
|
|
4652
|
+
|
|
4653
|
+
<li class="md-nav__item">
|
|
4654
|
+
<a href="../../user-guide/core-data-model/wireless/supporteddatarate.html" class="md-nav__link">
|
|
4655
|
+
|
|
4656
|
+
|
|
4657
|
+
<span class="md-ellipsis">
|
|
4658
|
+
Supported Data Rate
|
|
4659
|
+
</span>
|
|
4660
|
+
|
|
4661
|
+
|
|
4662
|
+
</a>
|
|
4663
|
+
</li>
|
|
4664
|
+
|
|
4665
|
+
|
|
4666
|
+
|
|
4667
|
+
|
|
4668
|
+
|
|
4669
|
+
|
|
4670
|
+
|
|
4671
|
+
|
|
4672
|
+
|
|
4673
|
+
|
|
4674
|
+
<li class="md-nav__item">
|
|
4675
|
+
<a href="../../user-guide/core-data-model/wireless/radioprofile.html" class="md-nav__link">
|
|
4676
|
+
|
|
4677
|
+
|
|
4678
|
+
<span class="md-ellipsis">
|
|
4679
|
+
Radio Profile
|
|
4680
|
+
</span>
|
|
4681
|
+
|
|
4682
|
+
|
|
4683
|
+
</a>
|
|
4684
|
+
</li>
|
|
4685
|
+
|
|
4686
|
+
|
|
4687
|
+
|
|
4688
|
+
|
|
4689
|
+
|
|
4690
|
+
|
|
4691
|
+
|
|
4692
|
+
|
|
4693
|
+
|
|
4694
|
+
|
|
4695
|
+
<li class="md-nav__item">
|
|
4696
|
+
<a href="../../user-guide/core-data-model/wireless/wirelessnetwork.html" class="md-nav__link">
|
|
4697
|
+
|
|
4698
|
+
|
|
4699
|
+
<span class="md-ellipsis">
|
|
4700
|
+
Wireless Network
|
|
4701
|
+
</span>
|
|
4702
|
+
|
|
4703
|
+
|
|
4704
|
+
</a>
|
|
4705
|
+
</li>
|
|
4706
|
+
|
|
4707
|
+
|
|
4708
|
+
|
|
4709
|
+
|
|
4710
|
+
</ul>
|
|
4711
|
+
</nav>
|
|
4712
|
+
|
|
4713
|
+
</li>
|
|
4714
|
+
|
|
4715
|
+
|
|
4716
|
+
|
|
4717
|
+
|
|
4559
4718
|
</ul>
|
|
4560
4719
|
</nav>
|
|
4561
4720
|
|
|
@@ -4767,6 +4926,27 @@
|
|
|
4767
4926
|
|
|
4768
4927
|
|
|
4769
4928
|
|
|
4929
|
+
<li class="md-nav__item">
|
|
4930
|
+
<a href="../../user-guide/platform-functionality/events.html" class="md-nav__link">
|
|
4931
|
+
|
|
4932
|
+
|
|
4933
|
+
<span class="md-ellipsis">
|
|
4934
|
+
Event Notifications
|
|
4935
|
+
</span>
|
|
4936
|
+
|
|
4937
|
+
|
|
4938
|
+
</a>
|
|
4939
|
+
</li>
|
|
4940
|
+
|
|
4941
|
+
|
|
4942
|
+
|
|
4943
|
+
|
|
4944
|
+
|
|
4945
|
+
|
|
4946
|
+
|
|
4947
|
+
|
|
4948
|
+
|
|
4949
|
+
|
|
4770
4950
|
<li class="md-nav__item">
|
|
4771
4951
|
<a href="../../user-guide/platform-functionality/exporttemplate.html" class="md-nav__link">
|
|
4772
4952
|
|
|
@@ -4841,7 +5021,7 @@
|
|
|
4841
5021
|
|
|
4842
5022
|
|
|
4843
5023
|
|
|
4844
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
5024
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_10" >
|
|
4845
5025
|
|
|
4846
5026
|
|
|
4847
5027
|
|
|
@@ -4857,14 +5037,14 @@
|
|
|
4857
5037
|
</a>
|
|
4858
5038
|
|
|
4859
5039
|
|
|
4860
|
-
<label class="md-nav__link " for="
|
|
5040
|
+
<label class="md-nav__link " for="__nav_2_4_10" id="__nav_2_4_10_label" tabindex="0">
|
|
4861
5041
|
<span class="md-nav__icon md-icon"></span>
|
|
4862
5042
|
</label>
|
|
4863
5043
|
|
|
4864
5044
|
</div>
|
|
4865
5045
|
|
|
4866
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
4867
|
-
<label class="md-nav__title" for="
|
|
5046
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_10_label" aria-expanded="false">
|
|
5047
|
+
<label class="md-nav__title" for="__nav_2_4_10">
|
|
4868
5048
|
<span class="md-nav__icon md-icon"></span>
|
|
4869
5049
|
GraphQL
|
|
4870
5050
|
</label>
|
|
@@ -4937,7 +5117,7 @@
|
|
|
4937
5117
|
|
|
4938
5118
|
|
|
4939
5119
|
|
|
4940
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
5120
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_12" >
|
|
4941
5121
|
|
|
4942
5122
|
|
|
4943
5123
|
|
|
@@ -4953,14 +5133,14 @@
|
|
|
4953
5133
|
</a>
|
|
4954
5134
|
|
|
4955
5135
|
|
|
4956
|
-
<label class="md-nav__link " for="
|
|
5136
|
+
<label class="md-nav__link " for="__nav_2_4_12" id="__nav_2_4_12_label" tabindex="0">
|
|
4957
5137
|
<span class="md-nav__icon md-icon"></span>
|
|
4958
5138
|
</label>
|
|
4959
5139
|
|
|
4960
5140
|
</div>
|
|
4961
5141
|
|
|
4962
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
4963
|
-
<label class="md-nav__title" for="
|
|
5142
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_12_label" aria-expanded="false">
|
|
5143
|
+
<label class="md-nav__title" for="__nav_2_4_12">
|
|
4964
5144
|
<span class="md-nav__icon md-icon"></span>
|
|
4965
5145
|
Jobs
|
|
4966
5146
|
</label>
|
|
@@ -4972,6 +5152,27 @@
|
|
|
4972
5152
|
|
|
4973
5153
|
|
|
4974
5154
|
|
|
5155
|
+
<li class="md-nav__item">
|
|
5156
|
+
<a href="../../user-guide/platform-functionality/jobs/kubernetes-job-support.html" class="md-nav__link">
|
|
5157
|
+
|
|
5158
|
+
|
|
5159
|
+
<span class="md-ellipsis">
|
|
5160
|
+
Kubernetes Job Support
|
|
5161
|
+
</span>
|
|
5162
|
+
|
|
5163
|
+
|
|
5164
|
+
</a>
|
|
5165
|
+
</li>
|
|
5166
|
+
|
|
5167
|
+
|
|
5168
|
+
|
|
5169
|
+
|
|
5170
|
+
|
|
5171
|
+
|
|
5172
|
+
|
|
5173
|
+
|
|
5174
|
+
|
|
5175
|
+
|
|
4975
5176
|
<li class="md-nav__item">
|
|
4976
5177
|
<a href="../../user-guide/platform-functionality/jobs/jobbutton.html" class="md-nav__link">
|
|
4977
5178
|
|
|
@@ -5035,6 +5236,27 @@
|
|
|
5035
5236
|
|
|
5036
5237
|
|
|
5037
5238
|
|
|
5239
|
+
<li class="md-nav__item">
|
|
5240
|
+
<a href="../../user-guide/platform-functionality/jobs/jobqueue.html" class="md-nav__link">
|
|
5241
|
+
|
|
5242
|
+
|
|
5243
|
+
<span class="md-ellipsis">
|
|
5244
|
+
Job Queues
|
|
5245
|
+
</span>
|
|
5246
|
+
|
|
5247
|
+
|
|
5248
|
+
</a>
|
|
5249
|
+
</li>
|
|
5250
|
+
|
|
5251
|
+
|
|
5252
|
+
|
|
5253
|
+
|
|
5254
|
+
|
|
5255
|
+
|
|
5256
|
+
|
|
5257
|
+
|
|
5258
|
+
|
|
5259
|
+
|
|
5038
5260
|
<li class="md-nav__item">
|
|
5039
5261
|
<a href="../../user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html" class="md-nav__link">
|
|
5040
5262
|
|
|
@@ -5148,6 +5370,27 @@
|
|
|
5148
5370
|
|
|
5149
5371
|
|
|
5150
5372
|
|
|
5373
|
+
<li class="md-nav__item">
|
|
5374
|
+
<a href="../../user-guide/platform-functionality/rendering-jinja-templates.html" class="md-nav__link">
|
|
5375
|
+
|
|
5376
|
+
|
|
5377
|
+
<span class="md-ellipsis">
|
|
5378
|
+
Rendering Jinja Templates
|
|
5379
|
+
</span>
|
|
5380
|
+
|
|
5381
|
+
|
|
5382
|
+
</a>
|
|
5383
|
+
</li>
|
|
5384
|
+
|
|
5385
|
+
|
|
5386
|
+
|
|
5387
|
+
|
|
5388
|
+
|
|
5389
|
+
|
|
5390
|
+
|
|
5391
|
+
|
|
5392
|
+
|
|
5393
|
+
|
|
5151
5394
|
|
|
5152
5395
|
|
|
5153
5396
|
|
|
@@ -5159,7 +5402,7 @@
|
|
|
5159
5402
|
|
|
5160
5403
|
|
|
5161
5404
|
|
|
5162
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
5405
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_18" >
|
|
5163
5406
|
|
|
5164
5407
|
|
|
5165
5408
|
|
|
@@ -5175,14 +5418,14 @@
|
|
|
5175
5418
|
</a>
|
|
5176
5419
|
|
|
5177
5420
|
|
|
5178
|
-
<label class="md-nav__link " for="
|
|
5421
|
+
<label class="md-nav__link " for="__nav_2_4_18" id="__nav_2_4_18_label" tabindex="0">
|
|
5179
5422
|
<span class="md-nav__icon md-icon"></span>
|
|
5180
5423
|
</label>
|
|
5181
5424
|
|
|
5182
5425
|
</div>
|
|
5183
5426
|
|
|
5184
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
5185
|
-
<label class="md-nav__title" for="
|
|
5427
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_18_label" aria-expanded="false">
|
|
5428
|
+
<label class="md-nav__title" for="__nav_2_4_18">
|
|
5186
5429
|
<span class="md-nav__icon md-icon"></span>
|
|
5187
5430
|
REST API
|
|
5188
5431
|
</label>
|
|
@@ -5402,10 +5645,10 @@
|
|
|
5402
5645
|
|
|
5403
5646
|
|
|
5404
5647
|
|
|
5405
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
5648
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4_25" >
|
|
5406
5649
|
|
|
5407
5650
|
|
|
5408
|
-
<label class="md-nav__link" for="
|
|
5651
|
+
<label class="md-nav__link" for="__nav_2_4_25" id="__nav_2_4_25_label" tabindex="0">
|
|
5409
5652
|
|
|
5410
5653
|
|
|
5411
5654
|
<span class="md-ellipsis">
|
|
@@ -5416,8 +5659,8 @@
|
|
|
5416
5659
|
<span class="md-nav__icon md-icon"></span>
|
|
5417
5660
|
</label>
|
|
5418
5661
|
|
|
5419
|
-
<nav class="md-nav" data-md-level="3" aria-labelledby="
|
|
5420
|
-
<label class="md-nav__title" for="
|
|
5662
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_4_25_label" aria-expanded="false">
|
|
5663
|
+
<label class="md-nav__title" for="__nav_2_4_25">
|
|
5421
5664
|
<span class="md-nav__icon md-icon"></span>
|
|
5422
5665
|
Users
|
|
5423
5666
|
</label>
|
|
@@ -6827,6 +7070,27 @@
|
|
|
6827
7070
|
|
|
6828
7071
|
|
|
6829
7072
|
|
|
7073
|
+
<li class="md-nav__item">
|
|
7074
|
+
<a href="../../code-reference/nautobot/apps/events.html" class="md-nav__link">
|
|
7075
|
+
|
|
7076
|
+
|
|
7077
|
+
<span class="md-ellipsis">
|
|
7078
|
+
nautobot.apps.events
|
|
7079
|
+
</span>
|
|
7080
|
+
|
|
7081
|
+
|
|
7082
|
+
</a>
|
|
7083
|
+
</li>
|
|
7084
|
+
|
|
7085
|
+
|
|
7086
|
+
|
|
7087
|
+
|
|
7088
|
+
|
|
7089
|
+
|
|
7090
|
+
|
|
7091
|
+
|
|
7092
|
+
|
|
7093
|
+
|
|
6830
7094
|
<li class="md-nav__item">
|
|
6831
7095
|
<a href="../../code-reference/nautobot/apps/exceptions.html" class="md-nav__link">
|
|
6832
7096
|
|
|
@@ -7375,6 +7639,123 @@
|
|
|
7375
7639
|
|
|
7376
7640
|
|
|
7377
7641
|
|
|
7642
|
+
|
|
7643
|
+
|
|
7644
|
+
|
|
7645
|
+
|
|
7646
|
+
|
|
7647
|
+
|
|
7648
|
+
|
|
7649
|
+
|
|
7650
|
+
|
|
7651
|
+
|
|
7652
|
+
|
|
7653
|
+
|
|
7654
|
+
|
|
7655
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
7656
|
+
|
|
7657
|
+
|
|
7658
|
+
|
|
7659
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_9_5" >
|
|
7660
|
+
|
|
7661
|
+
|
|
7662
|
+
|
|
7663
|
+
<div class="md-nav__link md-nav__container">
|
|
7664
|
+
<a href="../apps/migration/ui-component-framework/index.html" class="md-nav__link ">
|
|
7665
|
+
|
|
7666
|
+
|
|
7667
|
+
<span class="md-ellipsis">
|
|
7668
|
+
UI Component Framework
|
|
7669
|
+
</span>
|
|
7670
|
+
|
|
7671
|
+
|
|
7672
|
+
</a>
|
|
7673
|
+
|
|
7674
|
+
|
|
7675
|
+
<label class="md-nav__link " for="__nav_3_2_9_5" id="__nav_3_2_9_5_label" tabindex="0">
|
|
7676
|
+
<span class="md-nav__icon md-icon"></span>
|
|
7677
|
+
</label>
|
|
7678
|
+
|
|
7679
|
+
</div>
|
|
7680
|
+
|
|
7681
|
+
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_2_9_5_label" aria-expanded="false">
|
|
7682
|
+
<label class="md-nav__title" for="__nav_3_2_9_5">
|
|
7683
|
+
<span class="md-nav__icon md-icon"></span>
|
|
7684
|
+
UI Component Framework
|
|
7685
|
+
</label>
|
|
7686
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
7687
|
+
|
|
7688
|
+
|
|
7689
|
+
|
|
7690
|
+
|
|
7691
|
+
|
|
7692
|
+
|
|
7693
|
+
|
|
7694
|
+
<li class="md-nav__item">
|
|
7695
|
+
<a href="../apps/migration/ui-component-framework/migration-steps.html" class="md-nav__link">
|
|
7696
|
+
|
|
7697
|
+
|
|
7698
|
+
<span class="md-ellipsis">
|
|
7699
|
+
Migration steps
|
|
7700
|
+
</span>
|
|
7701
|
+
|
|
7702
|
+
|
|
7703
|
+
</a>
|
|
7704
|
+
</li>
|
|
7705
|
+
|
|
7706
|
+
|
|
7707
|
+
|
|
7708
|
+
|
|
7709
|
+
|
|
7710
|
+
|
|
7711
|
+
|
|
7712
|
+
|
|
7713
|
+
|
|
7714
|
+
|
|
7715
|
+
<li class="md-nav__item">
|
|
7716
|
+
<a href="../apps/migration/ui-component-framework/custom-content.html" class="md-nav__link">
|
|
7717
|
+
|
|
7718
|
+
|
|
7719
|
+
<span class="md-ellipsis">
|
|
7720
|
+
Custom content
|
|
7721
|
+
</span>
|
|
7722
|
+
|
|
7723
|
+
|
|
7724
|
+
</a>
|
|
7725
|
+
</li>
|
|
7726
|
+
|
|
7727
|
+
|
|
7728
|
+
|
|
7729
|
+
|
|
7730
|
+
|
|
7731
|
+
|
|
7732
|
+
|
|
7733
|
+
|
|
7734
|
+
|
|
7735
|
+
|
|
7736
|
+
<li class="md-nav__item">
|
|
7737
|
+
<a href="../apps/migration/ui-component-framework/best-practices.html" class="md-nav__link">
|
|
7738
|
+
|
|
7739
|
+
|
|
7740
|
+
<span class="md-ellipsis">
|
|
7741
|
+
Best practices
|
|
7742
|
+
</span>
|
|
7743
|
+
|
|
7744
|
+
|
|
7745
|
+
</a>
|
|
7746
|
+
</li>
|
|
7747
|
+
|
|
7748
|
+
|
|
7749
|
+
|
|
7750
|
+
|
|
7751
|
+
</ul>
|
|
7752
|
+
</nav>
|
|
7753
|
+
|
|
7754
|
+
</li>
|
|
7755
|
+
|
|
7756
|
+
|
|
7757
|
+
|
|
7758
|
+
|
|
7378
7759
|
</ul>
|
|
7379
7760
|
</nav>
|
|
7380
7761
|
|
|
@@ -7696,15 +8077,6 @@
|
|
|
7696
8077
|
</span>
|
|
7697
8078
|
</a>
|
|
7698
8079
|
|
|
7699
|
-
</li>
|
|
7700
|
-
|
|
7701
|
-
<li class="md-nav__item">
|
|
7702
|
-
<a href="#install-markdownlint-cli" class="md-nav__link">
|
|
7703
|
-
<span class="md-ellipsis">
|
|
7704
|
-
Install markdownlint-cli
|
|
7705
|
-
</span>
|
|
7706
|
-
</a>
|
|
7707
|
-
|
|
7708
8080
|
</li>
|
|
7709
8081
|
|
|
7710
8082
|
<li class="md-nav__item">
|
|
@@ -8272,6 +8644,27 @@
|
|
|
8272
8644
|
|
|
8273
8645
|
|
|
8274
8646
|
|
|
8647
|
+
<li class="md-nav__item">
|
|
8648
|
+
<a href="minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
8649
|
+
|
|
8650
|
+
|
|
8651
|
+
<span class="md-ellipsis">
|
|
8652
|
+
Minikube Dev Environment for K8s Jobs
|
|
8653
|
+
</span>
|
|
8654
|
+
|
|
8655
|
+
|
|
8656
|
+
</a>
|
|
8657
|
+
</li>
|
|
8658
|
+
|
|
8659
|
+
|
|
8660
|
+
|
|
8661
|
+
|
|
8662
|
+
|
|
8663
|
+
|
|
8664
|
+
|
|
8665
|
+
|
|
8666
|
+
|
|
8667
|
+
|
|
8275
8668
|
<li class="md-nav__item">
|
|
8276
8669
|
<a href="model-checklist.html" class="md-nav__link">
|
|
8277
8670
|
|
|
@@ -8461,6 +8854,27 @@
|
|
|
8461
8854
|
|
|
8462
8855
|
|
|
8463
8856
|
|
|
8857
|
+
<li class="md-nav__item">
|
|
8858
|
+
<a href="ui-component-framework.html" class="md-nav__link">
|
|
8859
|
+
|
|
8860
|
+
|
|
8861
|
+
<span class="md-ellipsis">
|
|
8862
|
+
UI Component Framework
|
|
8863
|
+
</span>
|
|
8864
|
+
|
|
8865
|
+
|
|
8866
|
+
</a>
|
|
8867
|
+
</li>
|
|
8868
|
+
|
|
8869
|
+
|
|
8870
|
+
|
|
8871
|
+
|
|
8872
|
+
|
|
8873
|
+
|
|
8874
|
+
|
|
8875
|
+
|
|
8876
|
+
|
|
8877
|
+
|
|
8464
8878
|
<li class="md-nav__item">
|
|
8465
8879
|
<a href="release-checklist.html" class="md-nav__link">
|
|
8466
8880
|
|
|
@@ -8543,6 +8957,27 @@
|
|
|
8543
8957
|
|
|
8544
8958
|
|
|
8545
8959
|
|
|
8960
|
+
<li class="md-nav__item">
|
|
8961
|
+
<a href="../../release-notes/version-2.4.html" class="md-nav__link">
|
|
8962
|
+
|
|
8963
|
+
|
|
8964
|
+
<span class="md-ellipsis">
|
|
8965
|
+
Version 2.4
|
|
8966
|
+
</span>
|
|
8967
|
+
|
|
8968
|
+
|
|
8969
|
+
</a>
|
|
8970
|
+
</li>
|
|
8971
|
+
|
|
8972
|
+
|
|
8973
|
+
|
|
8974
|
+
|
|
8975
|
+
|
|
8976
|
+
|
|
8977
|
+
|
|
8978
|
+
|
|
8979
|
+
|
|
8980
|
+
|
|
8546
8981
|
<li class="md-nav__item">
|
|
8547
8982
|
<a href="../../release-notes/version-2.3.html" class="md-nav__link">
|
|
8548
8983
|
|
|
@@ -9268,15 +9703,6 @@
|
|
|
9268
9703
|
</span>
|
|
9269
9704
|
</a>
|
|
9270
9705
|
|
|
9271
|
-
</li>
|
|
9272
|
-
|
|
9273
|
-
<li class="md-nav__item">
|
|
9274
|
-
<a href="#install-markdownlint-cli" class="md-nav__link">
|
|
9275
|
-
<span class="md-ellipsis">
|
|
9276
|
-
Install markdownlint-cli
|
|
9277
|
-
</span>
|
|
9278
|
-
</a>
|
|
9279
|
-
|
|
9280
9706
|
</li>
|
|
9281
9707
|
|
|
9282
9708
|
<li class="md-nav__item">
|
|
@@ -9706,32 +10132,24 @@
|
|
|
9706
10132
|
<h3 id="setting-up-your-remotes">Setting up your Remotes<a class="headerlink" href="#setting-up-your-remotes" title="Permanent link">¶</a></h3>
|
|
9707
10133
|
<p>Remote repos are managed using the <code>git remote</code> command.</p>
|
|
9708
10134
|
<p>Upon cloning Nautobot for the first time, you will have only a single remote:</p>
|
|
9709
|
-
<!-- markdownlint-disable MD010 -->
|
|
9710
|
-
|
|
9711
10135
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a>git remote -v
|
|
9712
10136
|
</code></pre></div>
|
|
9713
10137
|
<p>Example output:</p>
|
|
9714
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>origin
|
|
9715
|
-
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>origin
|
|
10138
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-5-1" name="__codelineno-5-1" href="#__codelineno-5-1"></a>origin git@github.com:yourusername/nautobot.git (fetch)
|
|
10139
|
+
<a id="__codelineno-5-2" name="__codelineno-5-2" href="#__codelineno-5-2"></a>origin git@github.com:yourusername/nautobot.git (push)
|
|
9716
10140
|
</code></pre></div>
|
|
9717
|
-
<!-- markdownlint-enable MD010 -->
|
|
9718
|
-
|
|
9719
10141
|
<p>Add the official Nautobot repo as a the <code>upstream</code> remote:</p>
|
|
9720
10142
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-6-1" name="__codelineno-6-1" href="#__codelineno-6-1"></a>git remote add upstream git@github.com:nautobot/nautobot.git
|
|
9721
10143
|
</code></pre></div>
|
|
9722
10144
|
<p>View your remotes again to confirm you've got both <code>origin</code> pointing to your fork and <code>upstream</code> pointing to the official repo:</p>
|
|
9723
|
-
<!-- markdownlint-disable MD010 -->
|
|
9724
|
-
|
|
9725
10145
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a>git remote -v
|
|
9726
10146
|
</code></pre></div>
|
|
9727
10147
|
<p>Example output:</p>
|
|
9728
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>origin
|
|
9729
|
-
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>origin
|
|
10148
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-8-1" name="__codelineno-8-1" href="#__codelineno-8-1"></a>origin git@github.com:yourusername/nautobot.git (fetch)
|
|
10149
|
+
<a id="__codelineno-8-2" name="__codelineno-8-2" href="#__codelineno-8-2"></a>origin git@github.com:yourusername/nautobot.git (push)
|
|
9730
10150
|
<a id="__codelineno-8-3" name="__codelineno-8-3" href="#__codelineno-8-3"></a>upstream git@github.com:nautobot/nautobot.git (fetch)
|
|
9731
10151
|
<a id="__codelineno-8-4" name="__codelineno-8-4" href="#__codelineno-8-4"></a>upstream git@github.com:nautobot/nautobot.git (push)
|
|
9732
10152
|
</code></pre></div>
|
|
9733
|
-
<!-- markdownlint-enable MD010 -->
|
|
9734
|
-
|
|
9735
10153
|
<p>You're now ready to proceed to the next steps.</p>
|
|
9736
10154
|
<div class="admonition hint">
|
|
9737
10155
|
<p class="admonition-title">Hint</p>
|
|
@@ -9881,15 +10299,11 @@
|
|
|
9881
10299
|
<p><a href="https://github.com/hadolint/hadolint">Hadolint</a> is a tool used to validate and lint Dockerfiles to ensure we are following best practices. On macOS with <a href="https://brew.sh/">Homebrew</a> you can install Hadolint by running:</p>
|
|
9882
10300
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a>brew install hadolint
|
|
9883
10301
|
</code></pre></div>
|
|
9884
|
-
<h4 id="install-markdownlint-cli">Install markdownlint-cli<a class="headerlink" href="#install-markdownlint-cli" title="Permanent link">¶</a></h4>
|
|
9885
|
-
<p><a href="https://github.com/igorshubovych/markdownlint-cli">markdownlint-cli</a> is a tool used to validate and lint Markdown files, such as Nautobot's documentation, to ensure that they are correctly constructed. On macOS with <a href="https://brew.sh/">Homebrew</a> you can install markdownlint-cli by running:</p>
|
|
9886
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>brew install markdownlint-cli
|
|
9887
|
-
</code></pre></div>
|
|
9888
10302
|
<h4 id="creating-a-python-virtual-environment">Creating a Python Virtual Environment<a class="headerlink" href="#creating-a-python-virtual-environment" title="Permanent link">¶</a></h4>
|
|
9889
10303
|
<p>A Python <a href="https://docs.python.org/3/tutorial/venv.html">virtual environment</a> (or <em>virtualenv</em>) is like a container for a set of Python packages. A virtualenv allow you to build environments suited to specific projects without interfering with system packages or other projects. When installed per the documentation, Nautobot uses a virtual environment in production.</p>
|
|
9890
10304
|
<p>For Nautobot development, we have selected Poetry, which will transparently create a virtualenv for you, automatically install all dependencies required for Nautobot to operate, and will also install the <code>nautobot-server</code> CLI command that you will utilize to interact with Nautobot from here on out.</p>
|
|
9891
10305
|
<p>Bootstrap your virtual environment using <code>poetry install</code>:</p>
|
|
9892
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10306
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a>poetry install
|
|
9893
10307
|
</code></pre></div>
|
|
9894
10308
|
<div class="admonition hint">
|
|
9895
10309
|
<p class="admonition-title">Hint</p>
|
|
@@ -9897,44 +10311,45 @@
|
|
|
9897
10311
|
</div>
|
|
9898
10312
|
<p>This will create automatically create a virtualenv in your home directory, which houses a virtual copy of the Python executable and its related libraries and tooling. When running Nautobot for development, it will be run using the Python binary at found within the virtualenv.</p>
|
|
9899
10313
|
<p>Once created, you may activate the virtual environment using <code>poetry shell</code>:</p>
|
|
9900
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10314
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a>poetry shell
|
|
9901
10315
|
</code></pre></div>
|
|
9902
10316
|
<p>Example output:</p>
|
|
9903
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
9904
|
-
<a id="__codelineno-
|
|
9905
|
-
<a id="__codelineno-
|
|
9906
|
-
<a id="__codelineno-
|
|
10317
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a>Spawning shell within /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.12
|
|
10318
|
+
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a>
|
|
10319
|
+
<a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a>. /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.12/bin/activate
|
|
10320
|
+
<a id="__codelineno-19-4" name="__codelineno-19-4" href="#__codelineno-19-4"></a>(nautobot-Ams_xyDt-py3.12) $
|
|
9907
10321
|
</code></pre></div>
|
|
9908
10322
|
<p>Notice that the console prompt changes to indicate the active environment. This updates the necessary system environment variables to ensure that any Python scripts are run within the virtual environment.</p>
|
|
9909
10323
|
<p>Observe also that the <code>python</code> interpreter is bound within the virtualenv:</p>
|
|
9910
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10324
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>which python
|
|
9911
10325
|
</code></pre></div>
|
|
9912
10326
|
<p>Example output:</p>
|
|
9913
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10327
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>(nautobot-Ams_xyDt-py3.12) $ /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.12/bin/python
|
|
9914
10328
|
</code></pre></div>
|
|
9915
10329
|
<p>To exit the virtual shell, use <code>exit</code>:</p>
|
|
9916
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10330
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>exit
|
|
9917
10331
|
</code></pre></div>
|
|
9918
10332
|
<p>Example output:</p>
|
|
9919
|
-
|
|
10333
|
+
<!-- pyml disable-num-lines 3 commands-show-output -->
|
|
10334
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>$
|
|
9920
10335
|
</code></pre></div>
|
|
9921
10336
|
<h4 id="working-with-poetry">Working with Poetry<a class="headerlink" href="#working-with-poetry" title="Permanent link">¶</a></h4>
|
|
9922
10337
|
<p>Poetry automatically installs your dependencies. However, if you need to install any additional dependencies this can be done with <code>pip</code>. For example, if you really like using <code>ipython</code> for development:</p>
|
|
9923
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10338
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>pip3 install ipython
|
|
9924
10339
|
</code></pre></div>
|
|
9925
10340
|
<p>Example output:</p>
|
|
9926
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
9927
|
-
<a id="__codelineno-
|
|
9928
|
-
<a id="__codelineno-
|
|
10341
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>Collecting ipython
|
|
10342
|
+
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a> Using cached ipython-7.20.0-py3-none-any.whl (784 kB)
|
|
10343
|
+
<a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a> ...
|
|
9929
10344
|
</code></pre></div>
|
|
9930
10345
|
<ul>
|
|
9931
10346
|
<li>Install verify that you have the proper dependencies installed and are in the virtual environment via Poetry. This also ensures that you have the proper mkdocs themes installed.</li>
|
|
9932
10347
|
</ul>
|
|
9933
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
9934
|
-
<a id="__codelineno-
|
|
10348
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>poetry<span class="w"> </span>shell
|
|
10349
|
+
<a id="__codelineno-26-2" name="__codelineno-26-2" href="#__codelineno-26-2"></a>poetry<span class="w"> </span>install
|
|
9935
10350
|
</code></pre></div>
|
|
9936
10351
|
<p>It may not always be convenient to enter into the virtual shell just to run programs. You may also execute a given command ad hoc within the project's virtual shell by using <code>poetry run</code>:</p>
|
|
9937
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10352
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>poetry run mkdocs serve
|
|
9938
10353
|
</code></pre></div>
|
|
9939
10354
|
<p>Check out the <a href="https://python-poetry.org/docs/basic-usage/">Poetry usage guide</a> for more tips.</p>
|
|
9940
10355
|
<h4 id="configuring-nautobot">Configuring Nautobot<a class="headerlink" href="#configuring-nautobot" title="Permanent link">¶</a></h4>
|
|
@@ -9949,20 +10364,20 @@
|
|
|
9949
10364
|
<p>Nautobot's configuration file is <code>nautobot_config.py</code>.</p>
|
|
9950
10365
|
<h5 id="initializing-a-config">Initializing a Config<a class="headerlink" href="#initializing-a-config" title="Permanent link">¶</a></h5>
|
|
9951
10366
|
<p>You may also initialize a new configuration using <code>nautobot-server init</code>:</p>
|
|
9952
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10367
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>nautobot-server init
|
|
9953
10368
|
</code></pre></div>
|
|
9954
10369
|
<p>Example output:</p>
|
|
9955
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
9956
|
-
<a id="__codelineno-
|
|
9957
|
-
<a id="__codelineno-
|
|
9958
|
-
<a id="__codelineno-
|
|
9959
|
-
<a id="__codelineno-
|
|
10370
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>Nautobot would like to send anonymized installation metrics to the project's maintainers.
|
|
10371
|
+
<a id="__codelineno-29-2" name="__codelineno-29-2" href="#__codelineno-29-2"></a>These metrics include the installed Nautobot version, the Python version in use, an anonymous "deployment ID", and a list of one-way-hashed names of enabled Nautobot Apps and their versions.
|
|
10372
|
+
<a id="__codelineno-29-3" name="__codelineno-29-3" href="#__codelineno-29-3"></a>Allow Nautobot to send these metrics? [y/n]: n
|
|
10373
|
+
<a id="__codelineno-29-4" name="__codelineno-29-4" href="#__codelineno-29-4"></a>Installation metrics will not be sent by default.
|
|
10374
|
+
<a id="__codelineno-29-5" name="__codelineno-29-5" href="#__codelineno-29-5"></a>Configuration file created at /home/example/.nautobot/nautobot_config.py
|
|
9960
10375
|
</code></pre></div>
|
|
9961
10376
|
<p>You may also specify alternate file locations. Please refer to <a href="../../user-guide/administration/configuration/index.html">Configuring Nautobot</a> for how to do that.</p>
|
|
9962
10377
|
<h5 id="using-the-development-config">Using the Development Config<a class="headerlink" href="#using-the-development-config" title="Permanent link">¶</a></h5>
|
|
9963
10378
|
<p>A <code>nautobot_config.py</code> suitable for development purposes can be found at <code>development/nautobot_config.py</code>. You may customize the values there or utilize environment variables to override the default values.</p>
|
|
9964
10379
|
<p>If you want to use this file, initialize a config first, then copy this file to the default location Nautobot expects to find its config:</p>
|
|
9965
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10380
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>cp development/nautobot_config.py ~/.nautobot/nautobot_config.py
|
|
9966
10381
|
</code></pre></div>
|
|
9967
10382
|
<h5 id="required-settings">Required Settings<a class="headerlink" href="#required-settings" title="Permanent link">¶</a></h5>
|
|
9968
10383
|
<p>A newly created configuration includes sane defaults. If you need to customize them, edit your <code>nautobot_config.py</code> and update the following settings as required:</p>
|
|
@@ -9979,10 +10394,10 @@
|
|
|
9979
10394
|
<p>Before you make any changes, always create a new branch. Again, for bug fixes and minor features, you'll want to create your branches from the <code>develop</code> branch, while for major new features, you'll branch from <code>next</code> instead.</p>
|
|
9980
10395
|
<p>In current versions of Nautobot, you can use the <code>invoke branch</code> command to create a new branch or switch to an existing branch. Whether you're creating a branch off a fork or working against the Nautobot origin repo, you should follow this convention for naming your branch: <code>u/yourusername-0000-branch-summary</code>, where <code>0000</code> is the related GitHub issue number and <code>yourusername</code> is your GitHub username. (If you do not have a relevant GitHub issue, please consider opening one to document the context behind your changes.)</p>
|
|
9981
10396
|
<p>For example:</p>
|
|
9982
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10397
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>invoke branch --create --branch u/yourusername-1234-some-bug-fix --parent develop
|
|
9983
10398
|
</code></pre></div>
|
|
9984
10399
|
<p>or:</p>
|
|
9985
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10400
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a>invoke branch --create --branch u/yourusername-1235-amazing-feature --parent next
|
|
9986
10401
|
</code></pre></div>
|
|
9987
10402
|
<div class="admonition caution">
|
|
9988
10403
|
<p class="admonition-title">Caution</p>
|
|
@@ -9999,7 +10414,7 @@
|
|
|
9999
10414
|
</div>
|
|
10000
10415
|
<h4 id="prototypes">Prototypes<a class="headerlink" href="#prototypes" title="Permanent link">¶</a></h4>
|
|
10001
10416
|
<p>Sometimes code is written as a proof of concept or early implementation candidate but is not quite ready to be merged, or may be picked up by another author sometime in the future. In that case, the convention is to use the <code>prototype/</code> prefix to the branch name and not requiring the original authors username. In that scenario, using the example above, you would instead:</p>
|
|
10002
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10417
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a>invoke branch --create --branch prototype/1234-next-amazing-feature --parent next
|
|
10003
10418
|
</code></pre></div>
|
|
10004
10419
|
<h3 id="creating-a-superuser">Creating a Superuser<a class="headerlink" href="#creating-a-superuser" title="Permanent link">¶</a></h3>
|
|
10005
10420
|
<details class="version-changed">
|
|
@@ -10043,16 +10458,16 @@
|
|
|
10043
10458
|
</tbody>
|
|
10044
10459
|
</table>
|
|
10045
10460
|
<p>For example:</p>
|
|
10046
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10461
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a>nautobot-server runserver
|
|
10047
10462
|
</code></pre></div>
|
|
10048
10463
|
<p>Example output:</p>
|
|
10049
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10050
|
-
<a id="__codelineno-
|
|
10051
|
-
<a id="__codelineno-
|
|
10052
|
-
<a id="__codelineno-
|
|
10053
|
-
<a id="__codelineno-
|
|
10054
|
-
<a id="__codelineno-
|
|
10055
|
-
<a id="__codelineno-
|
|
10464
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-35-1" name="__codelineno-35-1" href="#__codelineno-35-1"></a>Performing system checks...
|
|
10465
|
+
<a id="__codelineno-35-2" name="__codelineno-35-2" href="#__codelineno-35-2"></a>
|
|
10466
|
+
<a id="__codelineno-35-3" name="__codelineno-35-3" href="#__codelineno-35-3"></a>System check identified no issues (0 silenced).
|
|
10467
|
+
<a id="__codelineno-35-4" name="__codelineno-35-4" href="#__codelineno-35-4"></a>November 18, 2020 - 15:52:31
|
|
10468
|
+
<a id="__codelineno-35-5" name="__codelineno-35-5" href="#__codelineno-35-5"></a>Django version 3.1, using settings 'nautobot.core.settings'
|
|
10469
|
+
<a id="__codelineno-35-6" name="__codelineno-35-6" href="#__codelineno-35-6"></a>Starting development server at http://127.0.0.1:8080/
|
|
10470
|
+
<a id="__codelineno-35-7" name="__codelineno-35-7" href="#__codelineno-35-7"></a>Quit the server with CONTROL-C.
|
|
10056
10471
|
</code></pre></div>
|
|
10057
10472
|
<div class="admonition warning">
|
|
10058
10473
|
<p class="admonition-title">Warning</p>
|
|
@@ -10099,21 +10514,20 @@
|
|
|
10099
10514
|
</tbody>
|
|
10100
10515
|
</table>
|
|
10101
10516
|
<p>For example:</p>
|
|
10102
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10517
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-36-1" name="__codelineno-36-1" href="#__codelineno-36-1"></a>nautobot-server<span class="w"> </span>nbshell
|
|
10103
10518
|
</code></pre></div>
|
|
10104
10519
|
<p>Example output:</p>
|
|
10105
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10106
|
-
<a id="__codelineno-
|
|
10107
|
-
<a id="__codelineno-
|
|
10108
|
-
<a id="__codelineno-
|
|
10109
|
-
<a id="__codelineno-
|
|
10110
|
-
<a id="__codelineno-
|
|
10111
|
-
<a id="__codelineno-
|
|
10112
|
-
<a id="__codelineno-
|
|
10113
|
-
<a id="__codelineno-
|
|
10114
|
-
<a id="__codelineno-
|
|
10115
|
-
<a id="__codelineno-
|
|
10116
|
-
<a id="__codelineno-38-12" name="__codelineno-38-12" href="#__codelineno-38-12"></a>>>>
|
|
10520
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-37-1" name="__codelineno-37-1" href="#__codelineno-37-1"></a># Shell Plus Model Imports
|
|
10521
|
+
<a id="__codelineno-37-2" name="__codelineno-37-2" href="#__codelineno-37-2"></a>...
|
|
10522
|
+
<a id="__codelineno-37-3" name="__codelineno-37-3" href="#__codelineno-37-3"></a># Shell Plus Django Imports
|
|
10523
|
+
<a id="__codelineno-37-4" name="__codelineno-37-4" href="#__codelineno-37-4"></a>...
|
|
10524
|
+
<a id="__codelineno-37-5" name="__codelineno-37-5" href="#__codelineno-37-5"></a># Django version 4.2.15
|
|
10525
|
+
<a id="__codelineno-37-6" name="__codelineno-37-6" href="#__codelineno-37-6"></a># Nautobot version 2.3.3b1
|
|
10526
|
+
<a id="__codelineno-37-7" name="__codelineno-37-7" href="#__codelineno-37-7"></a># Example Nautobot App version 1.0.0
|
|
10527
|
+
<a id="__codelineno-37-8" name="__codelineno-37-8" href="#__codelineno-37-8"></a>Python 3.12.6 (main, Sep 12 2024, 21:12:08) [GCC 12.2.0] on linux
|
|
10528
|
+
<a id="__codelineno-37-9" name="__codelineno-37-9" href="#__codelineno-37-9"></a>Type "help", "copyright", "credits" or "license" for more information.
|
|
10529
|
+
<a id="__codelineno-37-10" name="__codelineno-37-10" href="#__codelineno-37-10"></a>(InteractiveConsole)
|
|
10530
|
+
<a id="__codelineno-37-11" name="__codelineno-37-11" href="#__codelineno-37-11"></a>>>>
|
|
10117
10531
|
</code></pre></div>
|
|
10118
10532
|
<h3 id="post-upgrade-operations">Post-upgrade Operations<a class="headerlink" href="#post-upgrade-operations" title="Permanent link">¶</a></h3>
|
|
10119
10533
|
<p>There will be times where you're working with the bleeding edge of Nautobot from the <code>develop</code> branch or feature branches and will need to pull in database changes or run server operations.</p>
|
|
@@ -10140,22 +10554,22 @@
|
|
|
10140
10554
|
</div>
|
|
10141
10555
|
<p>Sometimes when files are renamed, moved, or deleted and you've been working in the same environment for a while, you can encounter weird behavior. If this happens, don't panic and nuke your environment.</p>
|
|
10142
10556
|
<p>First, use <code>pip3</code> to explicitly uninstall the Nautobot package from the environment:</p>
|
|
10143
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10557
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-38-1" name="__codelineno-38-1" href="#__codelineno-38-1"></a>pip3 uninstall -y nautobot
|
|
10144
10558
|
</code></pre></div>
|
|
10145
10559
|
<p>Example output:</p>
|
|
10146
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10147
|
-
<a id="__codelineno-
|
|
10148
|
-
<a id="__codelineno-
|
|
10560
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-39-1" name="__codelineno-39-1" href="#__codelineno-39-1"></a>Found existing installation: nautobot 1.0.0b2
|
|
10561
|
+
<a id="__codelineno-39-2" name="__codelineno-39-2" href="#__codelineno-39-2"></a>Uninstalling nautobot-1.0.0b2:
|
|
10562
|
+
<a id="__codelineno-39-3" name="__codelineno-39-3" href="#__codelineno-39-3"></a> Successfully uninstalled nautobot-1.0.0b2
|
|
10149
10563
|
</code></pre></div>
|
|
10150
10564
|
<p>Then try to just have Poetry do the right thing by telling it to install again:</p>
|
|
10151
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10565
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-40-1" name="__codelineno-40-1" href="#__codelineno-40-1"></a>poetry install
|
|
10152
10566
|
</code></pre></div>
|
|
10153
10567
|
<p>Example output:</p>
|
|
10154
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10155
|
-
<a id="__codelineno-
|
|
10156
|
-
<a id="__codelineno-
|
|
10157
|
-
<a id="__codelineno-
|
|
10158
|
-
<a id="__codelineno-
|
|
10568
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-41-1" name="__codelineno-41-1" href="#__codelineno-41-1"></a>Installing dependencies from lock file
|
|
10569
|
+
<a id="__codelineno-41-2" name="__codelineno-41-2" href="#__codelineno-41-2"></a>
|
|
10570
|
+
<a id="__codelineno-41-3" name="__codelineno-41-3" href="#__codelineno-41-3"></a>No dependencies to install or update
|
|
10571
|
+
<a id="__codelineno-41-4" name="__codelineno-41-4" href="#__codelineno-41-4"></a>
|
|
10572
|
+
<a id="__codelineno-41-5" name="__codelineno-41-5" href="#__codelineno-41-5"></a>Installing the current project: nautobot (1.0.0-beta.2)
|
|
10159
10573
|
</code></pre></div>
|
|
10160
10574
|
<h3 id="running-tests">Running Tests<a class="headerlink" href="#running-tests" title="Permanent link">¶</a></h3>
|
|
10161
10575
|
<p>Throughout the course of development, it's a good idea to occasionally run Nautobot's test suite to catch any potential errors. Tests come in two primary flavors: Unit tests and integration tests.</p>
|
|
@@ -10198,24 +10612,24 @@
|
|
|
10198
10612
|
</ul>
|
|
10199
10613
|
<h5 id="unit-test-invocation-examples">Unit Test Invocation Examples<a class="headerlink" href="#unit-test-invocation-examples" title="Permanent link">¶</a></h5>
|
|
10200
10614
|
<p>In general, when you first run the Nautobot tests in your local copy of the repository, we'd recommend:</p>
|
|
10201
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10615
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-42-1" name="__codelineno-42-1" href="#__codelineno-42-1"></a>invoke unittest
|
|
10202
10616
|
</code></pre></div>
|
|
10203
10617
|
<p>When there are too many cores on the testing machine, you can limit the number of parallel workers:</p>
|
|
10204
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10618
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-43-1" name="__codelineno-43-1" href="#__codelineno-43-1"></a>invoke unittest --parallel-workers 4
|
|
10205
10619
|
</code></pre></div>
|
|
10206
10620
|
<p>On subsequent reruns, you can add the other performance-related options:</p>
|
|
10207
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10208
|
-
<a id="__codelineno-
|
|
10621
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a>invoke unittest --skip-docs-build
|
|
10622
|
+
<a id="__codelineno-44-2" name="__codelineno-44-2" href="#__codelineno-44-2"></a>invoke unittest --skip-docs-build --label nautobot.core.tests
|
|
10209
10623
|
</code></pre></div>
|
|
10210
10624
|
<p>When switching between significantly different branches of the code base (e.g. <code>main</code> vs <code>develop</code> vs <code>next</code>), you'll need to for once include the <code>--no-keepdb</code> option so that the test database can be destroyed and recreated appropriately:</p>
|
|
10211
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10625
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a>invoke unittest --no-keepdb
|
|
10212
10626
|
</code></pre></div>
|
|
10213
10627
|
<p>To not use the cached test fixture, you will need to include the <code>--no-cache-test-fixtures</code> flag</p>
|
|
10214
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10628
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-46-1" name="__codelineno-46-1" href="#__codelineno-46-1"></a>invoke unittest --no-cache-test-fixtures
|
|
10215
10629
|
</code></pre></div>
|
|
10216
10630
|
<p>To limit the test to a specific pattern or label, you can use the <code>--label</code> and <code>--pattern</code> options:</p>
|
|
10217
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10218
|
-
<a id="__codelineno-
|
|
10631
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-47-1" name="__codelineno-47-1" href="#__codelineno-47-1"></a>invoke unittest --verbose --skip-docs-build --label nautobot.core.tests.dcim.test_views.DeviceTestCase
|
|
10632
|
+
<a id="__codelineno-47-2" name="__codelineno-47-2" href="#__codelineno-47-2"></a>invoke unittest --verbose --skip-docs-build --pattern Controller
|
|
10219
10633
|
</code></pre></div>
|
|
10220
10634
|
<h4 id="integration-tests">Integration Tests<a class="headerlink" href="#integration-tests" title="Permanent link">¶</a></h4>
|
|
10221
10635
|
<p>Integration tests are automated tests written and run to ensure that the Nautobot application behaves as expected when being used as it would be in practice. By contrast to unit tests, where individual units of code are being tested, integration tests rely upon the server code actually running, and web UI clients or API clients to make real connections to the service to exercise actual workflows, such as navigating to the login page, filling out the username/passwords fields, and clicking the "Log In" button.</p>
|
|
@@ -10291,7 +10705,7 @@
|
|
|
10291
10705
|
</table>
|
|
10292
10706
|
<h3 id="verifying-code-style-and-static-analysis">Verifying Code Style and Static Analysis<a class="headerlink" href="#verifying-code-style-and-static-analysis" title="Permanent link">¶</a></h3>
|
|
10293
10707
|
<p>To enforce best practices around consistent <a href="style-guide.html">coding style</a>, Nautobot uses <a href="https://docs.astral.sh/ruff">Ruff</a>. Additionally, <a href="https://en.wikipedia.org/wiki/Static_program_analysis">static analysis</a> of Nautobot code is performed by Ruff and <a href="https://pylint.pycqa.org/en/latest/">Pylint</a>. You should run all of these commands and ensure that they pass fully with regard to your code changes before opening a pull request upstream.</p>
|
|
10294
|
-
<!--
|
|
10708
|
+
<!-- pyml disable-num-lines 4 no-inline-html -->
|
|
10295
10709
|
<table>
|
|
10296
10710
|
<thead>
|
|
10297
10711
|
<tr>
|
|
@@ -10310,8 +10724,6 @@
|
|
|
10310
10724
|
</tr>
|
|
10311
10725
|
</tbody>
|
|
10312
10726
|
</table>
|
|
10313
|
-
<!-- markdownlint-enable no-inline-html -->
|
|
10314
|
-
|
|
10315
10727
|
<h3 id="handling-migrations">Handling Migrations<a class="headerlink" href="#handling-migrations" title="Permanent link">¶</a></h3>
|
|
10316
10728
|
<h4 id="checking-whether-a-new-migration-is-needed">Checking Whether a New Migration is Needed<a class="headerlink" href="#checking-whether-a-new-migration-is-needed" title="Permanent link">¶</a></h4>
|
|
10317
10729
|
<p>If you're unsure whether a database schema migration is needed based on your changes, you can run the following command:</p>
|
|
@@ -10403,7 +10815,7 @@
|
|
|
10403
10815
|
</table>
|
|
10404
10816
|
<p>Documentation is written in Markdown. If you need to add additional pages or sections to the documentation, you can add them to <code>mkdocs.yml</code> at the root of the repository.</p>
|
|
10405
10817
|
<h3 id="verifying-documentation">Verifying Documentation<a class="headerlink" href="#verifying-documentation" title="Permanent link">¶</a></h3>
|
|
10406
|
-
<p>Nautobot uses <a href="https://github.com/
|
|
10818
|
+
<p>Nautobot uses <a href="https://github.com/jackdewinter/pymarkdown"><code>pymarkdownlnt</code></a> to verify correctness of the documentation. You should run this command and ensure that it passes fully with regard to your documentation changes before opening a pull request upstream.</p>
|
|
10407
10819
|
<table>
|
|
10408
10820
|
<thead>
|
|
10409
10821
|
<tr>
|
|
@@ -10414,14 +10826,14 @@
|
|
|
10414
10826
|
<tbody>
|
|
10415
10827
|
<tr>
|
|
10416
10828
|
<td><code>invoke markdownlint</code></td>
|
|
10417
|
-
<td><code>
|
|
10829
|
+
<td><code>pymarkdown scan --recurse nautobot examples *.md</code></td>
|
|
10418
10830
|
</tr>
|
|
10419
10831
|
</tbody>
|
|
10420
10832
|
</table>
|
|
10421
10833
|
<h2 id="submitting-pull-requests">Submitting Pull Requests<a class="headerlink" href="#submitting-pull-requests" title="Permanent link">¶</a></h2>
|
|
10422
10834
|
<p>Once you're happy with your work and have verified that all tests pass, commit your changes and push it upstream to your fork. Always provide descriptive (but not excessively verbose) commit messages. When working on a specific issue, be sure to reference it.</p>
|
|
10423
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10424
|
-
<a id="__codelineno-
|
|
10835
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-48-1" name="__codelineno-48-1" href="#__codelineno-48-1"></a>git commit -m "Closes #1234: Add IPv5 support"
|
|
10836
|
+
<a id="__codelineno-48-2" name="__codelineno-48-2" href="#__codelineno-48-2"></a>git push origin
|
|
10425
10837
|
</code></pre></div>
|
|
10426
10838
|
<p>Once your fork has the new commit, submit a <a href="https://github.com/nautobot/nautobot/compare">pull request</a> to the Nautobot repo to propose the changes. Be sure to provide a detailed accounting of the changes being made and the reasons for doing so.</p>
|
|
10427
10839
|
<p>Once submitted, a maintainer will review your pull request and either merge it or request changes. If changes are needed, you can make them via new commits to your fork: The pull request will update automatically.</p>
|
|
@@ -10433,11 +10845,11 @@
|
|
|
10433
10845
|
<p>Below are common issues you might encounter in your development environment and how to address them.</p>
|
|
10434
10846
|
<h3 id="fatal-sorry-too-many-clients-already">FATAL: sorry, too many clients already<a class="headerlink" href="#fatal-sorry-too-many-clients-already" title="Permanent link">¶</a></h3>
|
|
10435
10847
|
<p>When using <code>nautobot-server runserver</code> to do development you might run into a traceback that looks something like this:</p>
|
|
10436
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10437
|
-
<a id="__codelineno-
|
|
10848
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-49-1" name="__codelineno-49-1" href="#__codelineno-49-1"></a>Exception Type: OperationalError at /extras/tags/
|
|
10849
|
+
<a id="__codelineno-49-2" name="__codelineno-49-2" href="#__codelineno-49-2"></a>Exception Value: FATAL: sorry, too many clients already
|
|
10438
10850
|
</code></pre></div>
|
|
10439
10851
|
<p>The <code>runserver</code> development server is multi-threaded by default, which means that every request is creating its own connection. If you are doing some local testing or development that is resulting in a lot of connections to the database, pass <code>--nothreading</code> to the runserver command to disable threading:</p>
|
|
10440
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
10852
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-50-1" name="__codelineno-50-1" href="#__codelineno-50-1"></a>nautobot-server runserver --nothreading
|
|
10441
10853
|
</code></pre></div>
|
|
10442
10854
|
|
|
10443
10855
|
|
|
@@ -10582,7 +10994,7 @@
|
|
|
10582
10994
|
</div>
|
|
10583
10995
|
|
|
10584
10996
|
|
|
10585
|
-
<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.6ce7567c.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>
|
|
10997
|
+
<script id="__config" type="application/json">{"base": "../..", "features": ["content.code.annotate", "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.6ce7567c.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>
|
|
10586
10998
|
|
|
10587
10999
|
|
|
10588
11000
|
<script src="../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
|