nautobot 2.3.15b1__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 +143 -26
- nautobot/cloud/api/views.py +6 -10
- nautobot/cloud/factory.py +4 -1
- nautobot/cloud/models.py +1 -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/fields.py +5 -5
- 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 +54 -268
- nautobot/core/api/urls.py +3 -4
- nautobot/core/api/utils.py +0 -62
- nautobot/core/api/views.py +102 -159
- nautobot/core/apps/__init__.py +22 -575
- nautobot/core/celery/__init__.py +13 -0
- nautobot/core/celery/schedulers.py +48 -3
- 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/filters.py +19 -16
- nautobot/core/forms/__init__.py +19 -19
- nautobot/core/forms/fields.py +62 -14
- nautobot/core/forms/forms.py +33 -2
- nautobot/core/forms/utils.py +2 -1
- nautobot/core/graphql/schema.py +3 -1
- nautobot/core/graphql/types.py +1 -1
- nautobot/core/jobs/__init__.py +28 -7
- nautobot/core/jobs/bulk_actions.py +248 -0
- nautobot/core/jobs/cleanup.py +2 -2
- nautobot/core/jobs/groups.py +1 -1
- nautobot/core/management/commands/generate_test_data.py +21 -0
- nautobot/core/management/commands/validate_models.py +1 -1
- nautobot/core/middleware.py +16 -0
- nautobot/core/models/__init__.py +1 -1
- nautobot/core/models/fields.py +11 -7
- nautobot/core/models/query_functions.py +2 -2
- nautobot/core/models/tree_queries.py +2 -2
- nautobot/core/settings.py +71 -4
- nautobot/core/settings.yaml +107 -0
- nautobot/core/tables.py +15 -51
- 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/media.html +3 -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 +16 -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 +44 -34
- nautobot/core/testing/forms.py +2 -0
- nautobot/core/testing/views.py +68 -146
- nautobot/core/tests/integration/test_app_home.py +0 -1
- nautobot/core/tests/integration/test_app_navbar.py +0 -1
- nautobot/core/tests/integration/test_filters.py +0 -2
- nautobot/core/tests/integration/test_home.py +0 -1
- nautobot/core/tests/integration/test_navbar.py +0 -1
- nautobot/core/tests/integration/test_view_authentication.py +2 -1
- nautobot/core/tests/nautobot_config.py +198 -0
- nautobot/core/tests/runner.py +3 -3
- 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 +153 -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 +15 -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 +82 -177
- nautobot/core/views/mixins.py +98 -38
- 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 +82 -189
- 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 +221 -9
- nautobot/dcim/graphql/types.py +2 -2
- 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/device_component_templates.py +2 -2
- nautobot/dcim/models/device_components.py +22 -20
- nautobot/dcim/models/devices.py +181 -3
- nautobot/dcim/models/locations.py +3 -3
- nautobot/dcim/models/power.py +6 -5
- nautobot/dcim/models/racks.py +6 -6
- nautobot/dcim/navigation.py +25 -224
- nautobot/dcim/signals.py +44 -0
- nautobot/dcim/tables/__init__.py +5 -3
- nautobot/dcim/tables/devices.py +103 -7
- nautobot/dcim/tables/devicetypes.py +2 -2
- 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 +172 -76
- nautobot/dcim/tests/test_graphql.py +52 -0
- nautobot/dcim/tests/test_jobs.py +118 -0
- nautobot/dcim/tests/test_models.py +159 -5
- 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 +357 -62
- nautobot/extras/api/customfields.py +2 -2
- nautobot/extras/api/serializers.py +111 -87
- nautobot/extras/api/urls.py +4 -0
- nautobot/extras/api/views.py +93 -35
- 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 +3 -3
- nautobot/extras/graphql/types.py +25 -1
- nautobot/extras/health_checks.py +1 -2
- nautobot/extras/jobs.py +114 -20
- 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/managers.py +3 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +7 -9
- 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/customfields.py +12 -11
- nautobot/extras/models/groups.py +11 -9
- nautobot/extras/models/jobs.py +237 -37
- nautobot/extras/models/models.py +2 -2
- 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 +104 -61
- nautobot/extras/registry.py +1 -1
- nautobot/extras/secrets/__init__.py +2 -2
- nautobot/extras/signals.py +39 -1
- nautobot/extras/tables.py +42 -6
- 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/api_test_job.py +1 -1
- nautobot/extras/test_jobs/atomic_transaction.py +2 -2
- nautobot/extras/test_jobs/dry_run.py +1 -1
- nautobot/extras/test_jobs/fail.py +5 -5
- nautobot/extras/test_jobs/file_output.py +1 -1
- nautobot/extras/test_jobs/file_upload_fail.py +1 -1
- nautobot/extras/test_jobs/file_upload_pass.py +1 -1
- nautobot/extras/test_jobs/ipaddress_vars.py +3 -1
- nautobot/extras/test_jobs/jobs_module/jobs_submodule/jobs.py +1 -1
- nautobot/extras/test_jobs/location_with_custom_field.py +1 -1
- nautobot/extras/test_jobs/log_redaction.py +1 -1
- nautobot/extras/test_jobs/log_skip_db_logging.py +1 -1
- nautobot/extras/test_jobs/modify_db.py +1 -1
- nautobot/extras/test_jobs/object_var_optional.py +1 -1
- nautobot/extras/test_jobs/object_var_required.py +1 -1
- nautobot/extras/test_jobs/object_vars.py +1 -1
- nautobot/extras/test_jobs/pass.py +3 -3
- nautobot/extras/test_jobs/profiling.py +1 -1
- nautobot/extras/test_jobs/relative_import.py +3 -3
- nautobot/extras/test_jobs/singleton.py +16 -0
- nautobot/extras/test_jobs/soft_time_limit_greater_than_time_limit.py +1 -1
- nautobot/extras/test_jobs/task_queues.py +1 -1
- nautobot/extras/tests/integration/test_plugin_banner.py +0 -2
- nautobot/extras/tests/test_api.py +157 -55
- nautobot/extras/tests/test_context_managers.py +4 -1
- nautobot/extras/tests/test_customfields.py +1 -1
- nautobot/extras/tests/test_datasources.py +2 -1
- nautobot/extras/tests/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/test_filters.py +219 -535
- nautobot/extras/tests/test_forms.py +20 -1
- nautobot/extras/tests/test_job_variables.py +73 -152
- nautobot/extras/tests/test_jobs.py +192 -62
- nautobot/extras/tests/test_models.py +71 -16
- nautobot/extras/tests/test_plugins.py +62 -9
- nautobot/extras/tests/test_relationships.py +124 -10
- nautobot/extras/tests/test_utils.py +23 -2
- nautobot/extras/tests/test_views.py +162 -161
- nautobot/extras/tests/test_webhooks.py +2 -1
- nautobot/extras/urls.py +2 -20
- nautobot/extras/utils.py +119 -4
- nautobot/extras/views.py +188 -141
- nautobot/extras/webhooks.py +5 -2
- nautobot/ipam/api/fields.py +3 -3
- nautobot/ipam/api/serializers.py +44 -137
- nautobot/ipam/api/views.py +68 -110
- 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/querysets.py +2 -2
- 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 +19 -6
- nautobot/ipam/tests/test_filters.py +39 -119
- nautobot/ipam/tests/test_forms.py +49 -47
- nautobot/ipam/tests/test_migrations.py +30 -30
- nautobot/ipam/tests/test_models.py +56 -36
- nautobot/ipam/tests/test_querysets.py +14 -0
- 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 +463 -19
- nautobot/project-static/docs/apps/index.html +463 -19
- nautobot/project-static/docs/apps/nautobot-apps.html +464 -21
- nautobot/project-static/docs/assets/_mkdocstrings.css +25 -1
- nautobot/project-static/docs/assets/extra.css +5 -1
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js → bundle.88dd0f4e.min.js} +2 -2
- nautobot/project-static/docs/assets/javascripts/{bundle.83f73b43.min.js.map → bundle.88dd0f4e.min.js.map} +2 -2
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +479 -25
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +476 -22
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +792 -291
- nautobot/project-static/docs/code-reference/nautobot/apps/change_logging.html +507 -33
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +512 -36
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +473 -22
- nautobot/project-static/docs/code-reference/nautobot/apps/constants.html +469 -20
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +499 -35
- nautobot/project-static/docs/code-reference/nautobot/apps/events.html +9883 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/exceptions.html +525 -77
- nautobot/project-static/docs/code-reference/nautobot/apps/factory.html +548 -53
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +672 -96
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +1033 -180
- nautobot/project-static/docs/code-reference/nautobot/apps/graphql.html +526 -51
- nautobot/project-static/docs/code-reference/nautobot/apps/jobs.html +876 -190
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +957 -237
- nautobot/project-static/docs/code-reference/nautobot/apps/querysets.html +477 -23
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +488 -30
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +663 -101
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +949 -481
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +6427 -1236
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +476 -22
- nautobot/project-static/docs/code-reference/nautobot/apps/utils.html +879 -346
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +830 -173
- nautobot/project-static/docs/development/apps/api/configuration-view.html +463 -19
- nautobot/project-static/docs/development/apps/api/database-backend-config.html +463 -19
- nautobot/project-static/docs/development/apps/api/models/django-admin.html +463 -19
- nautobot/project-static/docs/development/apps/api/models/global-search.html +463 -19
- nautobot/project-static/docs/development/apps/api/models/graphql.html +463 -19
- nautobot/project-static/docs/development/apps/api/models/index.html +463 -19
- nautobot/project-static/docs/development/apps/api/nautobot-app-config.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/custom-validators.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/filter-extensions.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/git-repository-content.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/index.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/jinja2-filters.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/jobs.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/populating-extensibility-features.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/secrets-providers.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/table-extensions.html +463 -19
- nautobot/project-static/docs/development/apps/api/platform-features/uniquely-identify-objects.html +463 -19
- nautobot/project-static/docs/development/apps/api/prometheus.html +463 -19
- nautobot/project-static/docs/development/apps/api/setup.html +467 -155
- nautobot/project-static/docs/development/apps/api/testing.html +463 -19
- nautobot/project-static/docs/development/apps/api/ui-extensions/banners.html +463 -19
- nautobot/project-static/docs/development/apps/api/ui-extensions/home-page.html +463 -19
- nautobot/project-static/docs/development/apps/api/ui-extensions/index.html +463 -19
- nautobot/project-static/docs/development/apps/api/ui-extensions/navigation.html +463 -19
- nautobot/project-static/docs/development/apps/api/ui-extensions/object-views.html +743 -130
- nautobot/project-static/docs/development/apps/api/views/base-template.html +463 -19
- nautobot/project-static/docs/development/apps/api/views/core-view-overrides.html +463 -19
- nautobot/project-static/docs/development/apps/api/views/django-generic-views.html +463 -19
- nautobot/project-static/docs/development/apps/api/views/help-documentation.html +463 -19
- nautobot/project-static/docs/development/apps/api/views/index.html +465 -20
- nautobot/project-static/docs/development/apps/api/views/nautobot-generic-views.html +467 -19
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewset.html +493 -19
- nautobot/project-static/docs/development/apps/api/views/nautobotuiviewsetrouter.html +463 -19
- nautobot/project-static/docs/development/apps/api/views/notes.html +463 -19
- nautobot/project-static/docs/development/apps/api/views/rest-api.html +469 -21
- nautobot/project-static/docs/development/apps/api/views/urls.html +463 -19
- nautobot/project-static/docs/development/apps/index.html +463 -19
- nautobot/project-static/docs/development/apps/migration/code-updates.html +464 -52
- nautobot/project-static/docs/development/apps/migration/dependency-updates.html +464 -20
- nautobot/project-static/docs/development/apps/migration/from-v1.html +463 -19
- nautobot/project-static/docs/development/apps/migration/model-updates/dcim.html +463 -19
- nautobot/project-static/docs/development/apps/migration/model-updates/extras.html +463 -19
- nautobot/project-static/docs/development/apps/migration/model-updates/global.html +463 -19
- nautobot/project-static/docs/development/apps/migration/model-updates/ipam.html +466 -22
- 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 +466 -22
- nautobot/project-static/docs/development/core/application-registry.html +463 -19
- nautobot/project-static/docs/development/core/best-practices.html +463 -19
- nautobot/project-static/docs/development/core/bootstrap-ui.html +463 -19
- nautobot/project-static/docs/development/core/caching.html +463 -19
- nautobot/project-static/docs/development/core/controllers.html +465 -19
- nautobot/project-static/docs/development/core/docker-compose-advanced-use-cases.html +491 -90
- nautobot/project-static/docs/development/core/generic-views.html +463 -19
- nautobot/project-static/docs/development/core/getting-started.html +541 -129
- nautobot/project-static/docs/development/core/homepage.html +474 -30
- nautobot/project-static/docs/development/core/index.html +463 -19
- nautobot/project-static/docs/development/core/minikube-dev-environment-for-k8s-jobs.html +9754 -0
- nautobot/project-static/docs/development/core/model-checklist.html +473 -27
- nautobot/project-static/docs/development/core/model-features.html +463 -19
- nautobot/project-static/docs/development/core/natural-keys.html +463 -19
- nautobot/project-static/docs/development/core/navigation-menu.html +480 -26
- nautobot/project-static/docs/development/core/release-checklist.html +480 -48
- nautobot/project-static/docs/development/core/role-internals.html +463 -19
- nautobot/project-static/docs/development/core/settings.html +463 -19
- nautobot/project-static/docs/development/core/style-guide.html +466 -22
- nautobot/project-static/docs/development/core/templates.html +473 -22
- nautobot/project-static/docs/development/core/testing.html +463 -19
- nautobot/project-static/docs/development/core/ui-component-framework.html +11116 -0
- nautobot/project-static/docs/development/core/user-preferences.html +466 -22
- nautobot/project-static/docs/development/index.html +463 -19
- nautobot/project-static/docs/development/jobs/index.html +501 -21
- nautobot/project-static/docs/development/jobs/migration/from-v1.html +463 -19
- nautobot/project-static/docs/index.html +471 -38
- 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 +469 -23
- nautobot/project-static/docs/overview/design_philosophy.html +463 -19
- nautobot/project-static/docs/release-notes/index.html +485 -22
- nautobot/project-static/docs/release-notes/version-1.0.html +651 -208
- nautobot/project-static/docs/release-notes/version-1.1.html +648 -205
- nautobot/project-static/docs/release-notes/version-1.2.html +723 -280
- nautobot/project-static/docs/release-notes/version-1.3.html +749 -306
- nautobot/project-static/docs/release-notes/version-1.4.html +834 -392
- nautobot/project-static/docs/release-notes/version-1.5.html +1022 -581
- nautobot/project-static/docs/release-notes/version-1.6.html +942 -518
- nautobot/project-static/docs/release-notes/version-2.0.html +945 -504
- nautobot/project-static/docs/release-notes/version-2.1.html +780 -339
- nautobot/project-static/docs/release-notes/version-2.2.html +773 -332
- nautobot/project-static/docs/release-notes/version-2.3.html +1142 -448
- nautobot/project-static/docs/release-notes/version-2.4.html +10323 -0
- nautobot/project-static/docs/requirements.txt +2 -2
- 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 +463 -19
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/remote.html +463 -19
- nautobot/project-static/docs/user-guide/administration/configuration/authentication/sso.html +463 -19
- nautobot/project-static/docs/user-guide/administration/configuration/index.html +475 -32
- nautobot/project-static/docs/user-guide/administration/configuration/redis.html +463 -19
- nautobot/project-static/docs/user-guide/administration/configuration/settings.html +894 -180
- nautobot/project-static/docs/user-guide/administration/configuration/time-zones.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/celery-queues.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/docker.html +476 -29
- nautobot/project-static/docs/user-guide/administration/guides/health-checks.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/permissions.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/prometheus-metrics.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/replicating-nautobot.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/request-profiling.html +463 -19
- nautobot/project-static/docs/user-guide/administration/guides/s3-django-storage.html +465 -21
- nautobot/project-static/docs/user-guide/administration/guides/selinux-troubleshooting.html +463 -19
- nautobot/project-static/docs/user-guide/administration/installation/app-install.html +463 -19
- nautobot/project-static/docs/user-guide/administration/installation/external-authentication.html +463 -19
- nautobot/project-static/docs/user-guide/administration/installation/http-server.html +483 -23
- nautobot/project-static/docs/user-guide/administration/installation/index.html +468 -20
- nautobot/project-static/docs/user-guide/administration/installation/install_system.html +464 -20
- nautobot/project-static/docs/user-guide/administration/installation/nautobot.html +463 -19
- nautobot/project-static/docs/user-guide/administration/installation/services.html +463 -19
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-netbox.html +463 -19
- nautobot/project-static/docs/user-guide/administration/migration/migrating-from-postgresql.html +484 -41
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-server.html +477 -66
- nautobot/project-static/docs/user-guide/administration/tools/nautobot-shell.html +477 -66
- nautobot/project-static/docs/user-guide/administration/upgrading/database-backup.html +463 -19
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/after-you-upgrade.html +463 -19
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/before-you-upgrade.html +463 -19
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/for-developers.html +463 -19
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/index.html +463 -19
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/ipam/whats-changed.html +466 -23
- nautobot/project-static/docs/user-guide/administration/upgrading/from-v1/region-and-site-data-migration-guide.html +463 -19
- 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 +463 -19
- nautobot/project-static/docs/user-guide/administration/upgrading/upgrading.html +469 -21
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuit.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittermination.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/circuits/circuittype.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/circuits/provider.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/circuits/providernetwork.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloud.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudaccount.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetwork.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudnetworkprefixassignment.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudresourcetype.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservice.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/cloud/cloudservicenetworkassignment.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/cable.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleport.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleporttemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverport.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/consoleserverporttemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controller.html +499 -20
- nautobot/project-static/docs/user-guide/core-data-model/dcim/controllermanageddevicegroup.html +489 -22
- nautobot/project-static/docs/user-guide/core-data-model/dcim/device.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebay.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicebaytemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicefamily.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/deviceredundancygroup.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/devicetype.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontport.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/frontporttemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interface.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfaceredundancygroup.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/interfacetemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/inventoryitem.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/location.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/locationtype.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/manufacturer.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/module.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebay.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/modulebaytemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/moduletype.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/platform.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerfeed.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlet.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/poweroutlettemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerpanel.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerport.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/powerporttemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rack.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackgroup.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rackreservation.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearport.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/rearporttemplate.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareimagefile.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/softwareversion.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/dcim/virtualchassis.html +463 -19
- 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 +470 -30
- nautobot/project-static/docs/user-guide/core-data-model/extras/configcontextschema.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/extras/contact.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/extras/team.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/ipaddress.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/namespace.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/prefix.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/rir.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/routetarget.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/service.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlan.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vlangroup.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/ipam/vrf.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/overview/introduction.html +466 -22
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenant.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/tenancy/tenantgroup.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/cluster.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustergroup.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/clustertype.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/virtualmachine.html +463 -19
- nautobot/project-static/docs/user-guide/core-data-model/virtualization/vminterface.html +466 -22
- 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 +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/custom-fields.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-devices.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/creating-location-types-and-locations.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/index.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/interfaces.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/ipam.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/platforms.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/search-bar.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/tenants.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/getting-started/vlans-and-vlan-groups.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/git-data-source.html +468 -22
- nautobot/project-static/docs/user-guide/feature-guides/graphql.html +463 -19
- 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 +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/relationships.html +463 -19
- nautobot/project-static/docs/user-guide/feature-guides/software-image-files-and-versions.html +466 -22
- nautobot/project-static/docs/user-guide/feature-guides/wireless-networks-and-controllers.html +9444 -0
- nautobot/project-static/docs/user-guide/index.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/change-logging.html +466 -22
- nautobot/project-static/docs/user-guide/platform-functionality/computedfield.html +467 -23
- nautobot/project-static/docs/user-guide/platform-functionality/customfield.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/customlink.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/dynamicgroup.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/events.html +9617 -0
- nautobot/project-static/docs/user-guide/platform-functionality/exporttemplate.html +466 -22
- nautobot/project-static/docs/user-guide/platform-functionality/externalintegration.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/gitrepository.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/graphql.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/graphqlquery.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/imageattachment.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/index.html +472 -23
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/job-scheduling-and-approvals.html +466 -22
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobbutton.html +466 -22
- nautobot/project-static/docs/user-guide/platform-functionality/jobs/jobhook.html +463 -19
- 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 +466 -22
- nautobot/project-static/docs/user-guide/platform-functionality/napalm.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/note.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/objectmetadata.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/relationship.html +467 -23
- 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 +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/filtering.html +511 -40
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/overview.html +494 -23
- nautobot/project-static/docs/user-guide/platform-functionality/rest-api/ui-related-endpoints.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/role.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/savedview.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/secret.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/staticgroupassociation.html +466 -22
- nautobot/project-static/docs/user-guide/platform-functionality/status.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/tag.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/template-filters.html +531 -56
- nautobot/project-static/docs/user-guide/platform-functionality/users/objectpermission.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/users/token.html +463 -19
- nautobot/project-static/docs/user-guide/platform-functionality/webhook.html +463 -19
- 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 +3 -1
- nautobot/users/api/serializers.py +4 -4
- nautobot/users/api/views.py +3 -3
- 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/serializers.py +4 -4
- 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.15b1.dist-info → nautobot-2.4.0.dist-info}/METADATA +11 -13
- {nautobot-2.3.15b1.dist-info → nautobot-2.4.0.dist-info}/RECORD +783 -613
- {nautobot-2.3.15b1.dist-info → nautobot-2.4.0.dist-info}/WHEEL +1 -1
- nautobot/core/fixtures/user-data.json +0 -59
- nautobot/core/utils/navigation.py +0 -54
- {nautobot-2.3.15b1.dist-info → nautobot-2.4.0.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.3.15b1.dist-info → nautobot-2.4.0.dist-info}/NOTICE +0 -0
- {nautobot-2.3.15b1.dist-info → nautobot-2.4.0.dist-info}/entry_points.txt +0 -0
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
<link rel="icon" href="../../../assets/favicon.ico">
|
|
21
|
-
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.
|
|
21
|
+
<meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.5.49">
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -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>
|
|
@@ -6822,15 +7065,6 @@
|
|
|
6822
7065
|
</span>
|
|
6823
7066
|
</a>
|
|
6824
7067
|
|
|
6825
|
-
</li>
|
|
6826
|
-
|
|
6827
|
-
<li class="md-nav__item">
|
|
6828
|
-
<a href="#nautobot.apps.api.BaseModelSerializer.determine_view_options" class="md-nav__link">
|
|
6829
|
-
<span class="md-ellipsis">
|
|
6830
|
-
determine_view_options
|
|
6831
|
-
</span>
|
|
6832
|
-
</a>
|
|
6833
|
-
|
|
6834
7068
|
</li>
|
|
6835
7069
|
|
|
6836
7070
|
<li class="md-nav__item">
|
|
@@ -6840,15 +7074,6 @@
|
|
|
6840
7074
|
</span>
|
|
6841
7075
|
</a>
|
|
6842
7076
|
|
|
6843
|
-
</li>
|
|
6844
|
-
|
|
6845
|
-
<li class="md-nav__item">
|
|
6846
|
-
<a href="#nautobot.apps.api.BaseModelSerializer.get_additional_detail_view_tabs" class="md-nav__link">
|
|
6847
|
-
<span class="md-ellipsis">
|
|
6848
|
-
get_additional_detail_view_tabs
|
|
6849
|
-
</span>
|
|
6850
|
-
</a>
|
|
6851
|
-
|
|
6852
7077
|
</li>
|
|
6853
7078
|
|
|
6854
7079
|
<li class="md-nav__item">
|
|
@@ -6941,15 +7166,6 @@
|
|
|
6941
7166
|
</span>
|
|
6942
7167
|
</a>
|
|
6943
7168
|
|
|
6944
|
-
</li>
|
|
6945
|
-
|
|
6946
|
-
<li class="md-nav__item">
|
|
6947
|
-
<a href="#nautobot.apps.api.GetObjectCountsView" class="md-nav__link">
|
|
6948
|
-
<span class="md-ellipsis">
|
|
6949
|
-
GetObjectCountsView
|
|
6950
|
-
</span>
|
|
6951
|
-
</a>
|
|
6952
|
-
|
|
6953
7169
|
</li>
|
|
6954
7170
|
|
|
6955
7171
|
<li class="md-nav__item">
|
|
@@ -6978,6 +7194,15 @@
|
|
|
6978
7194
|
</span>
|
|
6979
7195
|
</a>
|
|
6980
7196
|
|
|
7197
|
+
</li>
|
|
7198
|
+
|
|
7199
|
+
<li class="md-nav__item">
|
|
7200
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
|
|
7201
|
+
<span class="md-ellipsis">
|
|
7202
|
+
get_queryset
|
|
7203
|
+
</span>
|
|
7204
|
+
</a>
|
|
7205
|
+
|
|
6981
7206
|
</li>
|
|
6982
7207
|
|
|
6983
7208
|
<li class="md-nav__item">
|
|
@@ -7742,11 +7967,11 @@
|
|
|
7742
7967
|
|
|
7743
7968
|
|
|
7744
7969
|
<li class="md-nav__item">
|
|
7745
|
-
<a href="
|
|
7970
|
+
<a href="events.html" class="md-nav__link">
|
|
7746
7971
|
|
|
7747
7972
|
|
|
7748
7973
|
<span class="md-ellipsis">
|
|
7749
|
-
nautobot.apps.
|
|
7974
|
+
nautobot.apps.events
|
|
7750
7975
|
</span>
|
|
7751
7976
|
|
|
7752
7977
|
|
|
@@ -7763,11 +7988,11 @@
|
|
|
7763
7988
|
|
|
7764
7989
|
|
|
7765
7990
|
<li class="md-nav__item">
|
|
7766
|
-
<a href="
|
|
7991
|
+
<a href="exceptions.html" class="md-nav__link">
|
|
7767
7992
|
|
|
7768
7993
|
|
|
7769
7994
|
<span class="md-ellipsis">
|
|
7770
|
-
nautobot.apps.
|
|
7995
|
+
nautobot.apps.exceptions
|
|
7771
7996
|
</span>
|
|
7772
7997
|
|
|
7773
7998
|
|
|
@@ -7784,11 +8009,32 @@
|
|
|
7784
8009
|
|
|
7785
8010
|
|
|
7786
8011
|
<li class="md-nav__item">
|
|
7787
|
-
<a href="
|
|
8012
|
+
<a href="factory.html" class="md-nav__link">
|
|
7788
8013
|
|
|
7789
8014
|
|
|
7790
8015
|
<span class="md-ellipsis">
|
|
7791
|
-
nautobot.apps.
|
|
8016
|
+
nautobot.apps.factory
|
|
8017
|
+
</span>
|
|
8018
|
+
|
|
8019
|
+
|
|
8020
|
+
</a>
|
|
8021
|
+
</li>
|
|
8022
|
+
|
|
8023
|
+
|
|
8024
|
+
|
|
8025
|
+
|
|
8026
|
+
|
|
8027
|
+
|
|
8028
|
+
|
|
8029
|
+
|
|
8030
|
+
|
|
8031
|
+
|
|
8032
|
+
<li class="md-nav__item">
|
|
8033
|
+
<a href="filters.html" class="md-nav__link">
|
|
8034
|
+
|
|
8035
|
+
|
|
8036
|
+
<span class="md-ellipsis">
|
|
8037
|
+
nautobot.apps.filters
|
|
7792
8038
|
</span>
|
|
7793
8039
|
|
|
7794
8040
|
|
|
@@ -8289,6 +8535,123 @@
|
|
|
8289
8535
|
|
|
8290
8536
|
|
|
8291
8537
|
|
|
8538
|
+
|
|
8539
|
+
|
|
8540
|
+
|
|
8541
|
+
|
|
8542
|
+
|
|
8543
|
+
|
|
8544
|
+
|
|
8545
|
+
|
|
8546
|
+
|
|
8547
|
+
|
|
8548
|
+
|
|
8549
|
+
|
|
8550
|
+
|
|
8551
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
8552
|
+
|
|
8553
|
+
|
|
8554
|
+
|
|
8555
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_2_9_5" >
|
|
8556
|
+
|
|
8557
|
+
|
|
8558
|
+
|
|
8559
|
+
<div class="md-nav__link md-nav__container">
|
|
8560
|
+
<a href="../../../development/apps/migration/ui-component-framework/index.html" class="md-nav__link ">
|
|
8561
|
+
|
|
8562
|
+
|
|
8563
|
+
<span class="md-ellipsis">
|
|
8564
|
+
UI Component Framework
|
|
8565
|
+
</span>
|
|
8566
|
+
|
|
8567
|
+
|
|
8568
|
+
</a>
|
|
8569
|
+
|
|
8570
|
+
|
|
8571
|
+
<label class="md-nav__link " for="__nav_3_2_9_5" id="__nav_3_2_9_5_label" tabindex="0">
|
|
8572
|
+
<span class="md-nav__icon md-icon"></span>
|
|
8573
|
+
</label>
|
|
8574
|
+
|
|
8575
|
+
</div>
|
|
8576
|
+
|
|
8577
|
+
<nav class="md-nav" data-md-level="4" aria-labelledby="__nav_3_2_9_5_label" aria-expanded="false">
|
|
8578
|
+
<label class="md-nav__title" for="__nav_3_2_9_5">
|
|
8579
|
+
<span class="md-nav__icon md-icon"></span>
|
|
8580
|
+
UI Component Framework
|
|
8581
|
+
</label>
|
|
8582
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
8583
|
+
|
|
8584
|
+
|
|
8585
|
+
|
|
8586
|
+
|
|
8587
|
+
|
|
8588
|
+
|
|
8589
|
+
|
|
8590
|
+
<li class="md-nav__item">
|
|
8591
|
+
<a href="../../../development/apps/migration/ui-component-framework/migration-steps.html" class="md-nav__link">
|
|
8592
|
+
|
|
8593
|
+
|
|
8594
|
+
<span class="md-ellipsis">
|
|
8595
|
+
Migration steps
|
|
8596
|
+
</span>
|
|
8597
|
+
|
|
8598
|
+
|
|
8599
|
+
</a>
|
|
8600
|
+
</li>
|
|
8601
|
+
|
|
8602
|
+
|
|
8603
|
+
|
|
8604
|
+
|
|
8605
|
+
|
|
8606
|
+
|
|
8607
|
+
|
|
8608
|
+
|
|
8609
|
+
|
|
8610
|
+
|
|
8611
|
+
<li class="md-nav__item">
|
|
8612
|
+
<a href="../../../development/apps/migration/ui-component-framework/custom-content.html" class="md-nav__link">
|
|
8613
|
+
|
|
8614
|
+
|
|
8615
|
+
<span class="md-ellipsis">
|
|
8616
|
+
Custom content
|
|
8617
|
+
</span>
|
|
8618
|
+
|
|
8619
|
+
|
|
8620
|
+
</a>
|
|
8621
|
+
</li>
|
|
8622
|
+
|
|
8623
|
+
|
|
8624
|
+
|
|
8625
|
+
|
|
8626
|
+
|
|
8627
|
+
|
|
8628
|
+
|
|
8629
|
+
|
|
8630
|
+
|
|
8631
|
+
|
|
8632
|
+
<li class="md-nav__item">
|
|
8633
|
+
<a href="../../../development/apps/migration/ui-component-framework/best-practices.html" class="md-nav__link">
|
|
8634
|
+
|
|
8635
|
+
|
|
8636
|
+
<span class="md-ellipsis">
|
|
8637
|
+
Best practices
|
|
8638
|
+
</span>
|
|
8639
|
+
|
|
8640
|
+
|
|
8641
|
+
</a>
|
|
8642
|
+
</li>
|
|
8643
|
+
|
|
8644
|
+
|
|
8645
|
+
|
|
8646
|
+
|
|
8647
|
+
</ul>
|
|
8648
|
+
</nav>
|
|
8649
|
+
|
|
8650
|
+
</li>
|
|
8651
|
+
|
|
8652
|
+
|
|
8653
|
+
|
|
8654
|
+
|
|
8292
8655
|
</ul>
|
|
8293
8656
|
</nav>
|
|
8294
8657
|
|
|
@@ -8634,6 +8997,27 @@
|
|
|
8634
8997
|
|
|
8635
8998
|
|
|
8636
8999
|
|
|
9000
|
+
<li class="md-nav__item">
|
|
9001
|
+
<a href="../../../development/core/minikube-dev-environment-for-k8s-jobs.html" class="md-nav__link">
|
|
9002
|
+
|
|
9003
|
+
|
|
9004
|
+
<span class="md-ellipsis">
|
|
9005
|
+
Minikube Dev Environment for K8s Jobs
|
|
9006
|
+
</span>
|
|
9007
|
+
|
|
9008
|
+
|
|
9009
|
+
</a>
|
|
9010
|
+
</li>
|
|
9011
|
+
|
|
9012
|
+
|
|
9013
|
+
|
|
9014
|
+
|
|
9015
|
+
|
|
9016
|
+
|
|
9017
|
+
|
|
9018
|
+
|
|
9019
|
+
|
|
9020
|
+
|
|
8637
9021
|
<li class="md-nav__item">
|
|
8638
9022
|
<a href="../../../development/core/model-checklist.html" class="md-nav__link">
|
|
8639
9023
|
|
|
@@ -8823,6 +9207,27 @@
|
|
|
8823
9207
|
|
|
8824
9208
|
|
|
8825
9209
|
|
|
9210
|
+
<li class="md-nav__item">
|
|
9211
|
+
<a href="../../../development/core/ui-component-framework.html" class="md-nav__link">
|
|
9212
|
+
|
|
9213
|
+
|
|
9214
|
+
<span class="md-ellipsis">
|
|
9215
|
+
UI Component Framework
|
|
9216
|
+
</span>
|
|
9217
|
+
|
|
9218
|
+
|
|
9219
|
+
</a>
|
|
9220
|
+
</li>
|
|
9221
|
+
|
|
9222
|
+
|
|
9223
|
+
|
|
9224
|
+
|
|
9225
|
+
|
|
9226
|
+
|
|
9227
|
+
|
|
9228
|
+
|
|
9229
|
+
|
|
9230
|
+
|
|
8826
9231
|
<li class="md-nav__item">
|
|
8827
9232
|
<a href="../../../development/core/release-checklist.html" class="md-nav__link">
|
|
8828
9233
|
|
|
@@ -8905,6 +9310,27 @@
|
|
|
8905
9310
|
|
|
8906
9311
|
|
|
8907
9312
|
|
|
9313
|
+
<li class="md-nav__item">
|
|
9314
|
+
<a href="../../../release-notes/version-2.4.html" class="md-nav__link">
|
|
9315
|
+
|
|
9316
|
+
|
|
9317
|
+
<span class="md-ellipsis">
|
|
9318
|
+
Version 2.4
|
|
9319
|
+
</span>
|
|
9320
|
+
|
|
9321
|
+
|
|
9322
|
+
</a>
|
|
9323
|
+
</li>
|
|
9324
|
+
|
|
9325
|
+
|
|
9326
|
+
|
|
9327
|
+
|
|
9328
|
+
|
|
9329
|
+
|
|
9330
|
+
|
|
9331
|
+
|
|
9332
|
+
|
|
9333
|
+
|
|
8908
9334
|
<li class="md-nav__item">
|
|
8909
9335
|
<a href="../../../release-notes/version-2.3.html" class="md-nav__link">
|
|
8910
9336
|
|
|
@@ -9563,15 +9989,6 @@
|
|
|
9563
9989
|
</span>
|
|
9564
9990
|
</a>
|
|
9565
9991
|
|
|
9566
|
-
</li>
|
|
9567
|
-
|
|
9568
|
-
<li class="md-nav__item">
|
|
9569
|
-
<a href="#nautobot.apps.api.BaseModelSerializer.determine_view_options" class="md-nav__link">
|
|
9570
|
-
<span class="md-ellipsis">
|
|
9571
|
-
determine_view_options
|
|
9572
|
-
</span>
|
|
9573
|
-
</a>
|
|
9574
|
-
|
|
9575
9992
|
</li>
|
|
9576
9993
|
|
|
9577
9994
|
<li class="md-nav__item">
|
|
@@ -9581,15 +9998,6 @@
|
|
|
9581
9998
|
</span>
|
|
9582
9999
|
</a>
|
|
9583
10000
|
|
|
9584
|
-
</li>
|
|
9585
|
-
|
|
9586
|
-
<li class="md-nav__item">
|
|
9587
|
-
<a href="#nautobot.apps.api.BaseModelSerializer.get_additional_detail_view_tabs" class="md-nav__link">
|
|
9588
|
-
<span class="md-ellipsis">
|
|
9589
|
-
get_additional_detail_view_tabs
|
|
9590
|
-
</span>
|
|
9591
|
-
</a>
|
|
9592
|
-
|
|
9593
10001
|
</li>
|
|
9594
10002
|
|
|
9595
10003
|
<li class="md-nav__item">
|
|
@@ -9682,15 +10090,6 @@
|
|
|
9682
10090
|
</span>
|
|
9683
10091
|
</a>
|
|
9684
10092
|
|
|
9685
|
-
</li>
|
|
9686
|
-
|
|
9687
|
-
<li class="md-nav__item">
|
|
9688
|
-
<a href="#nautobot.apps.api.GetObjectCountsView" class="md-nav__link">
|
|
9689
|
-
<span class="md-ellipsis">
|
|
9690
|
-
GetObjectCountsView
|
|
9691
|
-
</span>
|
|
9692
|
-
</a>
|
|
9693
|
-
|
|
9694
10093
|
</li>
|
|
9695
10094
|
|
|
9696
10095
|
<li class="md-nav__item">
|
|
@@ -9719,6 +10118,15 @@
|
|
|
9719
10118
|
</span>
|
|
9720
10119
|
</a>
|
|
9721
10120
|
|
|
10121
|
+
</li>
|
|
10122
|
+
|
|
10123
|
+
<li class="md-nav__item">
|
|
10124
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="md-nav__link">
|
|
10125
|
+
<span class="md-ellipsis">
|
|
10126
|
+
get_queryset
|
|
10127
|
+
</span>
|
|
10128
|
+
</a>
|
|
10129
|
+
|
|
9722
10130
|
</li>
|
|
9723
10131
|
|
|
9724
10132
|
<li class="md-nav__item">
|
|
@@ -10392,7 +10800,12 @@
|
|
|
10392
10800
|
|
|
10393
10801
|
<div class="doc doc-contents first">
|
|
10394
10802
|
|
|
10395
|
-
|
|
10803
|
+
<p>Helpers for an app to implement a REST API.</p>
|
|
10804
|
+
|
|
10805
|
+
|
|
10806
|
+
|
|
10807
|
+
|
|
10808
|
+
|
|
10396
10809
|
|
|
10397
10810
|
|
|
10398
10811
|
|
|
@@ -10418,10 +10831,15 @@
|
|
|
10418
10831
|
|
|
10419
10832
|
<div class="doc doc-contents ">
|
|
10420
10833
|
<p class="doc doc-class-bases">
|
|
10421
|
-
Bases: <code><
|
|
10834
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><span title="rest_framework.routers.APIRootView">APIRootView</span></code></p>
|
|
10835
|
+
|
|
10836
|
+
|
|
10837
|
+
<p>Extends DRF's base APIRootView class to enforce user authentication.</p>
|
|
10838
|
+
|
|
10839
|
+
|
|
10840
|
+
|
|
10422
10841
|
|
|
10423
10842
|
|
|
10424
|
-
<p>Extends DRF's base APIRootView class to enforce user authentication.</p>
|
|
10425
10843
|
|
|
10426
10844
|
|
|
10427
10845
|
|
|
@@ -10457,10 +10875,10 @@
|
|
|
10457
10875
|
|
|
10458
10876
|
<div class="doc doc-contents ">
|
|
10459
10877
|
<p class="doc doc-class-bases">
|
|
10460
|
-
Bases: <code><
|
|
10878
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.OptInFieldsMixin" href="#nautobot.apps.api.OptInFieldsMixin">OptInFieldsMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedModelSerializer">HyperlinkedModelSerializer</span></code></p>
|
|
10461
10879
|
|
|
10462
10880
|
|
|
10463
|
-
|
|
10881
|
+
<p>This base serializer implements common fields and logic for all ModelSerializers.</p>
|
|
10464
10882
|
<p>Namely, it:</p>
|
|
10465
10883
|
<ul>
|
|
10466
10884
|
<li>defines the <code>display</code> field which exposes a human friendly value for the given object.</li>
|
|
@@ -10477,6 +10895,11 @@
|
|
|
10477
10895
|
|
|
10478
10896
|
|
|
10479
10897
|
|
|
10898
|
+
|
|
10899
|
+
|
|
10900
|
+
|
|
10901
|
+
|
|
10902
|
+
|
|
10480
10903
|
<div class="doc doc-children">
|
|
10481
10904
|
|
|
10482
10905
|
|
|
@@ -10501,7 +10924,7 @@
|
|
|
10501
10924
|
|
|
10502
10925
|
<div class="doc doc-contents ">
|
|
10503
10926
|
|
|
10504
|
-
|
|
10927
|
+
<p>Return whether this is a nested serializer.</p>
|
|
10505
10928
|
</div>
|
|
10506
10929
|
|
|
10507
10930
|
</div>
|
|
@@ -10519,7 +10942,7 @@
|
|
|
10519
10942
|
|
|
10520
10943
|
<div class="doc doc-contents ">
|
|
10521
10944
|
|
|
10522
|
-
|
|
10945
|
+
<p>Instantiate a BaseModelSerializer.</p>
|
|
10523
10946
|
<p>The force_csv kwarg allows you to force _is_csv_request() to evaluate True without passing a Request object,
|
|
10524
10947
|
which is necessary to be able to export appropriately structured CSV from a Job that doesn't have a Request.</p>
|
|
10525
10948
|
|
|
@@ -10538,7 +10961,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10538
10961
|
|
|
10539
10962
|
<div class="doc doc-contents ">
|
|
10540
10963
|
|
|
10541
|
-
|
|
10964
|
+
<p>Return a two tuple of (cls, kwargs) to build a serializer field with.</p>
|
|
10542
10965
|
|
|
10543
10966
|
</div>
|
|
10544
10967
|
|
|
@@ -10555,7 +10978,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10555
10978
|
|
|
10556
10979
|
<div class="doc doc-contents ">
|
|
10557
10980
|
|
|
10558
|
-
|
|
10981
|
+
<p>Create a property field for model methods and properties.</p>
|
|
10559
10982
|
|
|
10560
10983
|
</div>
|
|
10561
10984
|
|
|
@@ -10572,7 +10995,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10572
10995
|
|
|
10573
10996
|
<div class="doc doc-contents ">
|
|
10574
10997
|
|
|
10575
|
-
|
|
10998
|
+
<p>Override DRF's default relational-field construction to be app-aware.</p>
|
|
10576
10999
|
|
|
10577
11000
|
</div>
|
|
10578
11001
|
|
|
@@ -10589,24 +11012,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10589
11012
|
|
|
10590
11013
|
<div class="doc doc-contents ">
|
|
10591
11014
|
|
|
10592
|
-
|
|
10593
|
-
|
|
10594
|
-
</div>
|
|
10595
|
-
|
|
10596
|
-
</div>
|
|
10597
|
-
|
|
10598
|
-
<div class="doc doc-object doc-function">
|
|
10599
|
-
|
|
10600
|
-
|
|
10601
|
-
<h3 id="nautobot.apps.api.BaseModelSerializer.determine_view_options" class="doc doc-heading">
|
|
10602
|
-
<code class="highlight language-python"><span class="n">determine_view_options</span><span class="p">(</span><span class="n">request</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span></code>
|
|
10603
|
-
|
|
10604
|
-
<a href="#nautobot.apps.api.BaseModelSerializer.determine_view_options" class="headerlink" title="Permanent link">¶</a></h3>
|
|
10605
|
-
|
|
10606
|
-
|
|
10607
|
-
<div class="doc doc-contents ">
|
|
10608
|
-
|
|
10609
|
-
<p>Determine view options to use for rendering the list and detail views associated with this serializer.</p>
|
|
11015
|
+
<p>Override DRF's default 'url' field construction to be app-aware.</p>
|
|
10610
11016
|
|
|
10611
11017
|
</div>
|
|
10612
11018
|
|
|
@@ -10623,49 +11029,7 @@ which is necessary to be able to export appropriately structured CSV from a Job
|
|
|
10623
11029
|
|
|
10624
11030
|
<div class="doc doc-contents ">
|
|
10625
11031
|
|
|
10626
|
-
|
|
10627
|
-
|
|
10628
|
-
</div>
|
|
10629
|
-
|
|
10630
|
-
</div>
|
|
10631
|
-
|
|
10632
|
-
<div class="doc doc-object doc-function">
|
|
10633
|
-
|
|
10634
|
-
|
|
10635
|
-
<h3 id="nautobot.apps.api.BaseModelSerializer.get_additional_detail_view_tabs" class="doc doc-heading">
|
|
10636
|
-
<code class="highlight language-python"><span class="n">get_additional_detail_view_tabs</span><span class="p">()</span></code>
|
|
10637
|
-
|
|
10638
|
-
<a href="#nautobot.apps.api.BaseModelSerializer.get_additional_detail_view_tabs" class="headerlink" title="Permanent link">¶</a></h3>
|
|
10639
|
-
|
|
10640
|
-
|
|
10641
|
-
<div class="doc doc-contents ">
|
|
10642
|
-
|
|
10643
|
-
<p>Retrieve definitions of non-default detail view tabs.</p>
|
|
10644
|
-
<p>By default provides an "Advanced" tab containing <code>self.advanced_tab_fields</code>, but subclasses
|
|
10645
|
-
can override this to move additional serializer fields to this or other tabs.</p>
|
|
10646
|
-
|
|
10647
|
-
|
|
10648
|
-
<p><span class="doc-section-title">Returns:</span></p>
|
|
10649
|
-
<table>
|
|
10650
|
-
<thead>
|
|
10651
|
-
<tr>
|
|
10652
|
-
<th>Type</th>
|
|
10653
|
-
<th>Description</th>
|
|
10654
|
-
</tr>
|
|
10655
|
-
</thead>
|
|
10656
|
-
<tbody>
|
|
10657
|
-
<tr class="doc-section-item">
|
|
10658
|
-
<td>
|
|
10659
|
-
<code><autoref identifier="dict" optional>dict</autoref></code>
|
|
10660
|
-
</td>
|
|
10661
|
-
<td>
|
|
10662
|
-
<div class="doc-md-description">
|
|
10663
|
-
<p><code>{<tab label>: [{<panel label>: {"fields": [<list of fields>]}, ...}, ...], ...}</code></p>
|
|
10664
|
-
</div>
|
|
10665
|
-
</td>
|
|
10666
|
-
</tr>
|
|
10667
|
-
</tbody>
|
|
10668
|
-
</table>
|
|
11032
|
+
<p>Prepend or append the given field_name to <code>fields</code> and optionally self.Meta.opt_in_fields as well.</p>
|
|
10669
11033
|
|
|
10670
11034
|
</div>
|
|
10671
11035
|
|
|
@@ -10682,7 +11046,7 @@ can override this to move additional serializer fields to this or other tabs.</p
|
|
|
10682
11046
|
|
|
10683
11047
|
<div class="doc doc-contents ">
|
|
10684
11048
|
|
|
10685
|
-
|
|
11049
|
+
<p>Return either the <code>display</code> property of the instance or <code>str(instance)</code></p>
|
|
10686
11050
|
|
|
10687
11051
|
</div>
|
|
10688
11052
|
|
|
@@ -10699,7 +11063,7 @@ can override this to move additional serializer fields to this or other tabs.</p
|
|
|
10699
11063
|
|
|
10700
11064
|
<div class="doc doc-contents ">
|
|
10701
11065
|
|
|
10702
|
-
|
|
11066
|
+
<p>Override get_field_names() to add some custom logic.</p>
|
|
10703
11067
|
<p>Assuming that we follow the pattern where <code>fields = "__all__" for the vast majority of serializers in Nautobot,
|
|
10704
11068
|
we do not strictly need to use this method to protect against inadvertently omitting standard fields
|
|
10705
11069
|
like</code>display<code>,</code>created<code>, and</code>last_updated`. However, we continue to do as a bit of redundant safety.</p>
|
|
@@ -10732,7 +11096,7 @@ way of <em>excluding</em> fields that we <em>don't</em> want to include by defau
|
|
|
10732
11096
|
<div class="doc doc-contents ">
|
|
10733
11097
|
|
|
10734
11098
|
|
|
10735
|
-
|
|
11099
|
+
<p>Support bulk deletion of objects using the list endpoint for a model. Accepts a DELETE action with a list of one
|
|
10736
11100
|
or more JSON objects, each specifying the UUID of an object to be deleted. For example:</p>
|
|
10737
11101
|
<p>DELETE /api/dcim/locations/
|
|
10738
11102
|
[
|
|
@@ -10743,6 +11107,11 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
|
|
|
10743
11107
|
|
|
10744
11108
|
|
|
10745
11109
|
|
|
11110
|
+
|
|
11111
|
+
|
|
11112
|
+
|
|
11113
|
+
|
|
11114
|
+
|
|
10746
11115
|
<div class="doc doc-children">
|
|
10747
11116
|
|
|
10748
11117
|
|
|
@@ -10775,7 +11144,7 @@ or more JSON objects, each specifying the UUID of an object to be deleted. For e
|
|
|
10775
11144
|
<div class="doc doc-contents ">
|
|
10776
11145
|
|
|
10777
11146
|
|
|
10778
|
-
|
|
11147
|
+
<p>Support bulk modification of objects using the list endpoint for a model. Accepts a PATCH action with a list of one
|
|
10779
11148
|
or more JSON objects, each specifying the UUID of an object to be updated as well as the attributes to be set.
|
|
10780
11149
|
For example:</p>
|
|
10781
11150
|
<p>PATCH /api/dcim/locations/
|
|
@@ -10793,6 +11162,11 @@ For example:</p>
|
|
|
10793
11162
|
|
|
10794
11163
|
|
|
10795
11164
|
|
|
11165
|
+
|
|
11166
|
+
|
|
11167
|
+
|
|
11168
|
+
|
|
11169
|
+
|
|
10796
11170
|
<div class="doc doc-children">
|
|
10797
11171
|
|
|
10798
11172
|
|
|
@@ -10824,16 +11198,21 @@ For example:</p>
|
|
|
10824
11198
|
|
|
10825
11199
|
<div class="doc doc-contents ">
|
|
10826
11200
|
<p class="doc doc-class-bases">
|
|
10827
|
-
Bases: <code><
|
|
11201
|
+
Bases: <code><span title="rest_framework.serializers.Field">Field</span></code></p>
|
|
10828
11202
|
|
|
10829
11203
|
|
|
10830
|
-
|
|
11204
|
+
<p>Represent a ChoiceField as {'value': <DB value>, 'label': <string>}. Accepts a single value on write.</p>
|
|
10831
11205
|
<p>:param choices: An iterable of choices in the form (value, key).
|
|
10832
11206
|
:param allow_blank: Allow blank values in addition to the listed choices.</p>
|
|
10833
11207
|
|
|
10834
11208
|
|
|
10835
11209
|
|
|
10836
11210
|
|
|
11211
|
+
|
|
11212
|
+
|
|
11213
|
+
|
|
11214
|
+
|
|
11215
|
+
|
|
10837
11216
|
<div class="doc doc-children">
|
|
10838
11217
|
|
|
10839
11218
|
|
|
@@ -10865,10 +11244,15 @@ For example:</p>
|
|
|
10865
11244
|
|
|
10866
11245
|
<div class="doc doc-contents ">
|
|
10867
11246
|
<p class="doc doc-class-bases">
|
|
10868
|
-
Bases: <code><
|
|
11247
|
+
Bases: <code><span title="rest_framework.relations.RelatedField">RelatedField</span></code></p>
|
|
11248
|
+
|
|
11249
|
+
|
|
11250
|
+
<p>Represent a ContentType as '<app_label>.<model>'</p>
|
|
11251
|
+
|
|
11252
|
+
|
|
11253
|
+
|
|
10869
11254
|
|
|
10870
11255
|
|
|
10871
|
-
<p>Represent a ContentType as '<app_label>.<model>'</p>
|
|
10872
11256
|
|
|
10873
11257
|
|
|
10874
11258
|
|
|
@@ -10904,10 +11288,15 @@ For example:</p>
|
|
|
10904
11288
|
|
|
10905
11289
|
<div class="doc doc-contents ">
|
|
10906
11290
|
<p class="doc doc-class-bases">
|
|
10907
|
-
Bases: <code><
|
|
11291
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
11292
|
+
|
|
11293
|
+
|
|
11294
|
+
<p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
|
|
11295
|
+
|
|
11296
|
+
|
|
11297
|
+
|
|
10908
11298
|
|
|
10909
11299
|
|
|
10910
|
-
<p>Extends ModelSerializer to render any CustomFields and their values associated with an object.</p>
|
|
10911
11300
|
|
|
10912
11301
|
|
|
10913
11302
|
|
|
@@ -10933,7 +11322,7 @@ For example:</p>
|
|
|
10933
11322
|
|
|
10934
11323
|
<div class="doc doc-contents ">
|
|
10935
11324
|
|
|
10936
|
-
|
|
11325
|
+
<p>Ensure that "custom_fields" and "computed_fields" are included appropriately.</p>
|
|
10937
11326
|
|
|
10938
11327
|
</div>
|
|
10939
11328
|
|
|
@@ -10960,50 +11349,15 @@ For example:</p>
|
|
|
10960
11349
|
|
|
10961
11350
|
<div class="doc doc-contents ">
|
|
10962
11351
|
<p class="doc doc-class-bases">
|
|
10963
|
-
Bases: <code><
|
|
10964
|
-
|
|
10965
|
-
|
|
10966
|
-
<p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
|
|
10967
|
-
|
|
10968
|
-
|
|
10969
|
-
|
|
10970
|
-
|
|
10971
|
-
<div class="doc doc-children">
|
|
10972
|
-
|
|
10973
|
-
|
|
10974
|
-
|
|
10975
|
-
|
|
10976
|
-
|
|
10977
|
-
|
|
10978
|
-
|
|
10979
|
-
|
|
10980
|
-
|
|
10981
|
-
|
|
10982
|
-
|
|
10983
|
-
</div>
|
|
10984
|
-
|
|
10985
|
-
</div>
|
|
10986
|
-
|
|
10987
|
-
</div>
|
|
10988
|
-
|
|
10989
|
-
<div class="doc doc-object doc-class">
|
|
10990
|
-
|
|
11352
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSet" href="#nautobot.apps.api.ModelViewSet">ModelViewSet</a></code></p>
|
|
10991
11353
|
|
|
10992
11354
|
|
|
10993
|
-
<
|
|
10994
|
-
<code>nautobot.apps.api.GetObjectCountsView</code>
|
|
11355
|
+
<p>Include the applicable set of CustomFields in the ModelViewSet context.</p>
|
|
10995
11356
|
|
|
10996
11357
|
|
|
10997
|
-
<a href="#nautobot.apps.api.GetObjectCountsView" class="headerlink" title="Permanent link">¶</a></h2>
|
|
10998
11358
|
|
|
10999
11359
|
|
|
11000
|
-
<div class="doc doc-contents ">
|
|
11001
|
-
<p class="doc doc-class-bases">
|
|
11002
|
-
Bases: <code><autoref identifier="nautobot.core.api.views.NautobotAPIVersionMixin" optional hover>NautobotAPIVersionMixin</autoref></code>, <code><autoref identifier="rest_framework.views.APIView" optional hover>APIView</autoref></code></p>
|
|
11003
|
-
|
|
11004
11360
|
|
|
11005
|
-
<p>Enumerate the models listed on the Nautobot home page and return data structure
|
|
11006
|
-
containing verbose_name_plural, url and count.</p>
|
|
11007
11361
|
|
|
11008
11362
|
|
|
11009
11363
|
|
|
@@ -11039,10 +11393,15 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11039
11393
|
|
|
11040
11394
|
<div class="doc doc-contents ">
|
|
11041
11395
|
<p class="doc doc-class-bases">
|
|
11042
|
-
Bases: <code><
|
|
11396
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkUpdateModelMixin" href="#nautobot.apps.api.BulkUpdateModelMixin">BulkUpdateModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.BulkDestroyModelMixin" href="#nautobot.apps.api.BulkDestroyModelMixin">BulkDestroyModelMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ModelViewSet">ModelViewSet</span></code></p>
|
|
11397
|
+
|
|
11398
|
+
|
|
11399
|
+
<p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
|
|
11400
|
+
|
|
11401
|
+
|
|
11402
|
+
|
|
11043
11403
|
|
|
11044
11404
|
|
|
11045
|
-
<p>Extend DRF's ModelViewSet to support bulk update and delete functions.</p>
|
|
11046
11405
|
|
|
11047
11406
|
|
|
11048
11407
|
|
|
@@ -11082,6 +11441,11 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11082
11441
|
|
|
11083
11442
|
|
|
11084
11443
|
|
|
11444
|
+
|
|
11445
|
+
|
|
11446
|
+
|
|
11447
|
+
|
|
11448
|
+
|
|
11085
11449
|
<div class="doc doc-children">
|
|
11086
11450
|
|
|
11087
11451
|
|
|
@@ -11103,7 +11467,25 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11103
11467
|
|
|
11104
11468
|
<div class="doc doc-contents ">
|
|
11105
11469
|
|
|
11106
|
-
|
|
11470
|
+
<p>Extend rest_framework.generics.GenericAPIView.get_object to allow "pk" lookups to use a composite-key.</p>
|
|
11471
|
+
|
|
11472
|
+
</div>
|
|
11473
|
+
|
|
11474
|
+
</div>
|
|
11475
|
+
|
|
11476
|
+
<div class="doc doc-object doc-function">
|
|
11477
|
+
|
|
11478
|
+
|
|
11479
|
+
<h3 id="nautobot.apps.api.ModelViewSetMixin.get_queryset" class="doc doc-heading">
|
|
11480
|
+
<code class="highlight language-python"><span class="n">get_queryset</span><span class="p">()</span></code>
|
|
11481
|
+
|
|
11482
|
+
<a href="#nautobot.apps.api.ModelViewSetMixin.get_queryset" class="headerlink" title="Permanent link">¶</a></h3>
|
|
11483
|
+
|
|
11484
|
+
|
|
11485
|
+
<div class="doc doc-contents ">
|
|
11486
|
+
|
|
11487
|
+
<p>Attempt to optimize the queryset based on the fields present in the associated serializer.</p>
|
|
11488
|
+
<p>See similar logic in nautobot.core.tables.BaseTable.</p>
|
|
11107
11489
|
|
|
11108
11490
|
</div>
|
|
11109
11491
|
|
|
@@ -11120,7 +11502,7 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11120
11502
|
|
|
11121
11503
|
<div class="doc doc-contents ">
|
|
11122
11504
|
|
|
11123
|
-
|
|
11505
|
+
<p>Runs anything that needs to occur prior to calling the method handler.</p>
|
|
11124
11506
|
<p>Override of internal Django Rest Framework API.</p>
|
|
11125
11507
|
|
|
11126
11508
|
</div>
|
|
@@ -11138,7 +11520,7 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11138
11520
|
|
|
11139
11521
|
<div class="doc doc-contents ">
|
|
11140
11522
|
|
|
11141
|
-
|
|
11523
|
+
<p>Restrict the view's queryset to allow only the permitted objects for the given request.</p>
|
|
11142
11524
|
<p>Subclasses (such as nautobot.extras.api.views.JobModelViewSet) may wish to override this.</p>
|
|
11143
11525
|
<p>Called by initial(), below.</p>
|
|
11144
11526
|
|
|
@@ -11167,10 +11549,15 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11167
11549
|
|
|
11168
11550
|
<div class="doc doc-contents ">
|
|
11169
11551
|
<p class="doc doc-class-bases">
|
|
11170
|
-
Bases: <code><
|
|
11552
|
+
Bases: <code><span title="rest_framework.serializers.MultipleChoiceField">MultipleChoiceField</span></code></p>
|
|
11553
|
+
|
|
11554
|
+
|
|
11555
|
+
<p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
|
|
11556
|
+
|
|
11557
|
+
|
|
11558
|
+
|
|
11171
11559
|
|
|
11172
11560
|
|
|
11173
|
-
<p>A MultipleChoiceField that renders the received value as a JSON-compatible list rather than a set.</p>
|
|
11174
11561
|
|
|
11175
11562
|
|
|
11176
11563
|
|
|
@@ -11196,7 +11583,7 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11196
11583
|
|
|
11197
11584
|
<div class="doc doc-contents ">
|
|
11198
11585
|
|
|
11199
|
-
|
|
11586
|
+
<p>Overload default choices handling to also accept a callable.</p>
|
|
11200
11587
|
|
|
11201
11588
|
</div>
|
|
11202
11589
|
|
|
@@ -11223,10 +11610,15 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11223
11610
|
|
|
11224
11611
|
<div class="doc doc-contents ">
|
|
11225
11612
|
<p class="doc doc-class-bases">
|
|
11226
|
-
Bases: <code><
|
|
11613
|
+
Bases: <code><span title="drf_spectacular.openapi.AutoSchema">AutoSchema</span></code></p>
|
|
11614
|
+
|
|
11615
|
+
|
|
11616
|
+
<p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
|
|
11617
|
+
|
|
11618
|
+
|
|
11619
|
+
|
|
11227
11620
|
|
|
11228
11621
|
|
|
11229
|
-
<p>Nautobot-specific extensions to drf-spectacular's AutoSchema.</p>
|
|
11230
11622
|
|
|
11231
11623
|
|
|
11232
11624
|
|
|
@@ -11255,7 +11647,7 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11255
11647
|
|
|
11256
11648
|
<div class="doc doc-contents ">
|
|
11257
11649
|
|
|
11258
|
-
|
|
11650
|
+
<p>Custom property for convenience.</p>
|
|
11259
11651
|
</div>
|
|
11260
11652
|
|
|
11261
11653
|
</div>
|
|
@@ -11276,7 +11668,7 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11276
11668
|
|
|
11277
11669
|
<div class="doc doc-contents ">
|
|
11278
11670
|
|
|
11279
|
-
|
|
11671
|
+
<p>Custom property for convenience.</p>
|
|
11280
11672
|
</div>
|
|
11281
11673
|
|
|
11282
11674
|
</div>
|
|
@@ -11294,7 +11686,7 @@ containing verbose_name_plural, url and count.</p>
|
|
|
11294
11686
|
|
|
11295
11687
|
<div class="doc doc-contents ">
|
|
11296
11688
|
|
|
11297
|
-
|
|
11689
|
+
<p>Get the appropriate description for a given API endpoint.</p>
|
|
11298
11690
|
<p>By default, if a specific action doesn't have its own docstring, and neither does the view class,
|
|
11299
11691
|
drf-spectacular will walk up the MRO of the view class until it finds a docstring, and use that.
|
|
11300
11692
|
Most of our viewsets (for better or for worse) do not have docstrings, and so it'll find and use the generic
|
|
@@ -11317,7 +11709,7 @@ make an attempt at rendering a basically accurate default description.</p>
|
|
|
11317
11709
|
|
|
11318
11710
|
<div class="doc doc-contents ">
|
|
11319
11711
|
|
|
11320
|
-
|
|
11712
|
+
<p>Nautobot's custom bulk operations, even though they return a list of records, are NOT filterable.</p>
|
|
11321
11713
|
|
|
11322
11714
|
</div>
|
|
11323
11715
|
|
|
@@ -11334,7 +11726,7 @@ make an attempt at rendering a basically accurate default description.</p>
|
|
|
11334
11726
|
|
|
11335
11727
|
<div class="doc doc-contents ">
|
|
11336
11728
|
|
|
11337
|
-
|
|
11729
|
+
<p>Extend the base method to handle Nautobot's REST API bulk operations.</p>
|
|
11338
11730
|
<p>Without this extension, every one of our ModelViewSet classes will result in drf-spectacular complaining
|
|
11339
11731
|
about operationId collisions, e.g. between DELETE /api/dcim/devices/ and DELETE /api/dcim/devices/<pk>/ would
|
|
11340
11732
|
both get resolved to the same "dcim_devices_destroy" operation-id and this would make drf-spectacular complain.</p>
|
|
@@ -11355,7 +11747,7 @@ both get resolved to the same "dcim_devices_destroy" operation-id and this would
|
|
|
11355
11747
|
|
|
11356
11748
|
<div class="doc doc-contents ">
|
|
11357
11749
|
|
|
11358
|
-
|
|
11750
|
+
<p>Return the request serializer (used for describing/parsing the request payload) for this endpoint.</p>
|
|
11359
11751
|
<p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
|
|
11360
11752
|
with required data (PATCH, POST, PUT). In those cases we replace FooSerializer with a dynamically-defined
|
|
11361
11753
|
WritableFooSerializer class in order to more accurately represent the available options on write.</p>
|
|
@@ -11377,7 +11769,7 @@ require a list of serializers as input, rather than a single one.</p>
|
|
|
11377
11769
|
|
|
11378
11770
|
<div class="doc doc-contents ">
|
|
11379
11771
|
|
|
11380
|
-
|
|
11772
|
+
<p>Return the response serializer (used for describing the response payload) for this endpoint.</p>
|
|
11381
11773
|
<p>We override the default drf-spectacular behavior for the case where the endpoint describes a write request
|
|
11382
11774
|
to a bulk endpoint, which returns a list of serializers, rather than a single one.</p>
|
|
11383
11775
|
|
|
@@ -11396,7 +11788,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11396
11788
|
|
|
11397
11789
|
<div class="doc doc-contents ">
|
|
11398
11790
|
|
|
11399
|
-
|
|
11791
|
+
<p>Get the serializer's ref_name Meta attribute if set, or else derive a ref_name automatically.</p>
|
|
11400
11792
|
<p>Based on drf_yasg.utils.get_serializer_ref_name().</p>
|
|
11401
11793
|
|
|
11402
11794
|
</div>
|
|
@@ -11414,7 +11806,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11414
11806
|
|
|
11415
11807
|
<div class="doc doc-contents ">
|
|
11416
11808
|
|
|
11417
|
-
|
|
11809
|
+
<p>Given a FooSerializer instance, look up or construct a [Bulk]WritableFooSerializer class if necessary.</p>
|
|
11418
11810
|
<p>If no [Bulk]WritableFooSerializer class is needed, returns None instead.</p>
|
|
11419
11811
|
|
|
11420
11812
|
</div>
|
|
@@ -11432,7 +11824,7 @@ to a bulk endpoint, which returns a list of serializers, rather than a single on
|
|
|
11432
11824
|
|
|
11433
11825
|
<div class="doc doc-contents ">
|
|
11434
11826
|
|
|
11435
|
-
|
|
11827
|
+
<p>Re-add required <code>id</code> field on bulk_partial_update action.</p>
|
|
11436
11828
|
<p>drf-spectacular clears the <code>required</code> list for any partial serializers in its <code>_map_basic_serializer()</code>,
|
|
11437
11829
|
but Nautobot bulk partial updates require the <code>id</code> field to be specified for each object to update.</p>
|
|
11438
11830
|
|
|
@@ -11461,10 +11853,15 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
|
|
|
11461
11853
|
|
|
11462
11854
|
<div class="doc doc-contents ">
|
|
11463
11855
|
<p class="doc doc-class-bases">
|
|
11464
|
-
Bases: <code><
|
|
11856
|
+
Bases: <code><span title="rest_framework.parsers.BaseParser">BaseParser</span></code></p>
|
|
11857
|
+
|
|
11858
|
+
|
|
11859
|
+
<p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
|
|
11860
|
+
|
|
11861
|
+
|
|
11862
|
+
|
|
11465
11863
|
|
|
11466
11864
|
|
|
11467
|
-
<p>Counterpart to NautobotCSVRenderer - import CSV data.</p>
|
|
11468
11865
|
|
|
11469
11866
|
|
|
11470
11867
|
|
|
@@ -11490,7 +11887,7 @@ but Nautobot bulk partial updates require the <code>id</code> field to be specif
|
|
|
11490
11887
|
|
|
11491
11888
|
<div class="doc doc-contents ">
|
|
11492
11889
|
|
|
11493
|
-
|
|
11890
|
+
<p>Parse a single row of CSV data (represented as a dict) into a dict suitable for consumption by the serializer.</p>
|
|
11494
11891
|
<p>TODO: it would be more elegant if our serializer fields knew how to deserialize the CSV data themselves;
|
|
11495
11892
|
could we then literally have the parser just return list(reader) and not need this function at all?</p>
|
|
11496
11893
|
|
|
@@ -11519,10 +11916,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11519
11916
|
|
|
11520
11917
|
<div class="doc doc-contents ">
|
|
11521
11918
|
<p class="doc doc-class-bases">
|
|
11522
|
-
Bases: <code><
|
|
11919
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.mixins.WritableSerializerMixin" href="#nautobot.apps.api.WritableSerializerMixin">WritableSerializerMixin</a></code>, <code><span title="rest_framework.serializers.HyperlinkedRelatedField">HyperlinkedRelatedField</span></code></p>
|
|
11920
|
+
|
|
11921
|
+
|
|
11922
|
+
<p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
|
|
11923
|
+
|
|
11924
|
+
|
|
11925
|
+
|
|
11523
11926
|
|
|
11524
11927
|
|
|
11525
|
-
<p>Extend HyperlinkedRelatedField to include URL namespace-awareness, add 'object_type' field, and read composite-keys.</p>
|
|
11526
11928
|
|
|
11527
11929
|
|
|
11528
11930
|
|
|
@@ -11548,7 +11950,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11548
11950
|
|
|
11549
11951
|
<div class="doc doc-contents ">
|
|
11550
11952
|
|
|
11551
|
-
|
|
11953
|
+
<p>Override DRF's namespace-unaware default view_name logic for HyperlinkedRelatedField.</p>
|
|
11552
11954
|
<p>DRF defaults to '{model_name}-detail' instead of '{app_label}:{model_name}-detail'.</p>
|
|
11553
11955
|
|
|
11554
11956
|
</div>
|
|
@@ -11566,7 +11968,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11566
11968
|
|
|
11567
11969
|
<div class="doc doc-contents ">
|
|
11568
11970
|
|
|
11569
|
-
|
|
11971
|
+
<p>Convert potentially nested representation to a model instance.</p>
|
|
11570
11972
|
|
|
11571
11973
|
</div>
|
|
11572
11974
|
|
|
@@ -11583,7 +11985,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11583
11985
|
|
|
11584
11986
|
<div class="doc doc-contents ">
|
|
11585
11987
|
|
|
11586
|
-
|
|
11988
|
+
<p>Convert URL representation to a brief nested representation.</p>
|
|
11587
11989
|
|
|
11588
11990
|
</div>
|
|
11589
11991
|
|
|
@@ -11610,15 +12012,20 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11610
12012
|
|
|
11611
12013
|
<div class="doc doc-contents ">
|
|
11612
12014
|
<p class="doc doc-class-bases">
|
|
11613
|
-
Bases: <code><
|
|
12015
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.RelationshipModelSerializerMixin" href="#nautobot.apps.api.RelationshipModelSerializerMixin">RelationshipModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.CustomFieldModelSerializerMixin" href="#nautobot.apps.api.CustomFieldModelSerializerMixin">CustomFieldModelSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.NotesSerializerMixin" href="#nautobot.apps.api.NotesSerializerMixin">NotesSerializerMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
11614
12016
|
|
|
11615
12017
|
|
|
11616
|
-
|
|
12018
|
+
<p>Base class to use for serializers based on OrganizationalModel or PrimaryModel.</p>
|
|
11617
12019
|
<p>Can also be used for models derived from BaseModel, so long as they support custom fields, notes, and relationships.</p>
|
|
11618
12020
|
|
|
11619
12021
|
|
|
11620
12022
|
|
|
11621
12023
|
|
|
12024
|
+
|
|
12025
|
+
|
|
12026
|
+
|
|
12027
|
+
|
|
12028
|
+
|
|
11622
12029
|
<div class="doc doc-children">
|
|
11623
12030
|
|
|
11624
12031
|
|
|
@@ -11650,15 +12057,20 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11650
12057
|
|
|
11651
12058
|
<div class="doc doc-contents ">
|
|
11652
12059
|
<p class="doc doc-class-bases">
|
|
11653
|
-
Bases: <code><
|
|
12060
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.NotesViewSetMixin" href="#nautobot.apps.api.NotesViewSetMixin">NotesViewSetMixin</a></code>, <code><a class="autorefs autorefs-internal" title="nautobot.extras.api.views.CustomFieldModelViewSet" href="#nautobot.apps.api.CustomFieldModelViewSet">CustomFieldModelViewSet</a></code></p>
|
|
11654
12061
|
|
|
11655
12062
|
|
|
11656
|
-
|
|
12063
|
+
<p>Base class to use for API ViewSets based on OrganizationalModel or PrimaryModel.</p>
|
|
11657
12064
|
<p>Can also be used for models derived from BaseModel, so long as they support Notes.</p>
|
|
11658
12065
|
|
|
11659
12066
|
|
|
11660
12067
|
|
|
11661
12068
|
|
|
12069
|
+
|
|
12070
|
+
|
|
12071
|
+
|
|
12072
|
+
|
|
12073
|
+
|
|
11662
12074
|
<div class="doc doc-children">
|
|
11663
12075
|
|
|
11664
12076
|
|
|
@@ -11690,10 +12102,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11690
12102
|
|
|
11691
12103
|
<div class="doc doc-contents ">
|
|
11692
12104
|
<p class="doc doc-class-bases">
|
|
11693
|
-
Bases: <code><
|
|
12105
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12106
|
+
|
|
12107
|
+
|
|
12108
|
+
<p>Extend Serializer with a <code>notes</code> field.</p>
|
|
12109
|
+
|
|
12110
|
+
|
|
12111
|
+
|
|
11694
12112
|
|
|
11695
12113
|
|
|
11696
|
-
<p>Extend Serializer with a <code>notes</code> field.</p>
|
|
11697
12114
|
|
|
11698
12115
|
|
|
11699
12116
|
|
|
@@ -11719,7 +12136,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11719
12136
|
|
|
11720
12137
|
<div class="doc doc-contents ">
|
|
11721
12138
|
|
|
11722
|
-
|
|
12139
|
+
<p>Ensure that fields includes "notes_url" field if applicable.</p>
|
|
11723
12140
|
|
|
11724
12141
|
</div>
|
|
11725
12142
|
|
|
@@ -11750,6 +12167,11 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11750
12167
|
|
|
11751
12168
|
|
|
11752
12169
|
|
|
12170
|
+
|
|
12171
|
+
|
|
12172
|
+
|
|
12173
|
+
|
|
12174
|
+
|
|
11753
12175
|
<div class="doc doc-children">
|
|
11754
12176
|
|
|
11755
12177
|
|
|
@@ -11772,10 +12194,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11772
12194
|
|
|
11773
12195
|
<div class="doc doc-contents ">
|
|
11774
12196
|
<p class="doc doc-class-bases">
|
|
11775
|
-
Bases: <code><
|
|
12197
|
+
Bases: <code><span title="nautobot.core.api.authentication.TokenPermissions">TokenPermissions</span></code></p>
|
|
12198
|
+
|
|
12199
|
+
|
|
12200
|
+
<p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
|
|
12201
|
+
|
|
12202
|
+
|
|
12203
|
+
|
|
11776
12204
|
|
|
11777
12205
|
|
|
11778
|
-
<p>As nautobot.core.api.authentication.TokenPermissions, but enforcing add_note permission.</p>
|
|
11779
12206
|
|
|
11780
12207
|
|
|
11781
12208
|
|
|
@@ -11810,7 +12237,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11810
12237
|
|
|
11811
12238
|
<div class="doc doc-contents ">
|
|
11812
12239
|
|
|
11813
|
-
|
|
12240
|
+
<p>API methods for returning or creating notes on an object.</p>
|
|
11814
12241
|
|
|
11815
12242
|
</div>
|
|
11816
12243
|
|
|
@@ -11827,7 +12254,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11827
12254
|
|
|
11828
12255
|
<div class="doc doc-contents ">
|
|
11829
12256
|
|
|
11830
|
-
|
|
12257
|
+
<p>Apply "view" permissions on the POST /notes/ endpoint, otherwise as ModelViewSetMixin.</p>
|
|
11831
12258
|
|
|
11832
12259
|
</div>
|
|
11833
12260
|
|
|
@@ -11854,10 +12281,15 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11854
12281
|
|
|
11855
12282
|
<div class="doc doc-contents ">
|
|
11856
12283
|
<p class="doc doc-class-bases">
|
|
11857
|
-
Bases: <code><
|
|
12284
|
+
Bases: <code><span title="rest_framework.serializers.CharField">CharField</span></code></p>
|
|
12285
|
+
|
|
12286
|
+
|
|
12287
|
+
<p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
|
|
12288
|
+
|
|
12289
|
+
|
|
12290
|
+
|
|
11858
12291
|
|
|
11859
12292
|
|
|
11860
|
-
<p>Represent the ContentType of this serializer's model as "<app_label>.<model>".</p>
|
|
11861
12293
|
|
|
11862
12294
|
|
|
11863
12295
|
|
|
@@ -11883,7 +12315,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11883
12315
|
|
|
11884
12316
|
<div class="doc doc-contents ">
|
|
11885
12317
|
|
|
11886
|
-
|
|
12318
|
+
<p>Default read_only to True as this should never be a writable field.</p>
|
|
11887
12319
|
|
|
11888
12320
|
</div>
|
|
11889
12321
|
|
|
@@ -11900,7 +12332,7 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11900
12332
|
|
|
11901
12333
|
<div class="doc doc-contents ">
|
|
11902
12334
|
|
|
11903
|
-
|
|
12335
|
+
<p>Get the content-type of this serializer's model.</p>
|
|
11904
12336
|
<p>Implemented this way because <code>_value</code> may be None when generating the schema.</p>
|
|
11905
12337
|
|
|
11906
12338
|
</div>
|
|
@@ -11929,8 +12361,13 @@ could we then literally have the parser just return list(reader) and not need th
|
|
|
11929
12361
|
<div class="doc doc-contents ">
|
|
11930
12362
|
|
|
11931
12363
|
|
|
11932
|
-
|
|
11933
|
-
which fields
|
|
12364
|
+
<p>Serializer mixin that adjusts its fields based on the <code>include</code> and <code>exclude_m2m</code> query parameters in a request.</p>
|
|
12365
|
+
<p>The serializer's <code>Meta.opt_in_fields</code> controls which fields are influenced by <code>include</code>.</p>
|
|
12366
|
+
|
|
12367
|
+
|
|
12368
|
+
|
|
12369
|
+
|
|
12370
|
+
|
|
11934
12371
|
|
|
11935
12372
|
|
|
11936
12373
|
|
|
@@ -11959,8 +12396,12 @@ which fields should be displayed.</p>
|
|
|
11959
12396
|
|
|
11960
12397
|
<div class="doc doc-contents ">
|
|
11961
12398
|
|
|
11962
|
-
|
|
11963
|
-
<
|
|
12399
|
+
<p>Dynamically adjust the dictionary of fields attributed to this serializer instance.</p>
|
|
12400
|
+
<ul>
|
|
12401
|
+
<li>Removes all serializer fields specified in <code>Meta.opt_in_fields</code> list that aren't specified in the
|
|
12402
|
+
<code>include</code> query parameter. (applies to GET requests only)</li>
|
|
12403
|
+
<li>If the <code>exclude_m2m</code> query parameter is truthy, remove all many-to-many serializer fields for performance.</li>
|
|
12404
|
+
</ul>
|
|
11964
12405
|
<p>As an example, if the serializer specifies that <code>opt_in_fields = ["computed_fields"]</code>
|
|
11965
12406
|
but <code>computed_fields</code> is not specified in the <code>?include</code> query parameter, <code>computed_fields</code> will be popped
|
|
11966
12407
|
from the list of fields.</p>
|
|
@@ -11991,7 +12432,12 @@ from the list of fields.</p>
|
|
|
11991
12432
|
|
|
11992
12433
|
<div class="doc doc-contents ">
|
|
11993
12434
|
<p class="doc doc-class-bases">
|
|
11994
|
-
Bases: <code><
|
|
12435
|
+
Bases: <code><span title="rest_framework.routers.DefaultRouter">DefaultRouter</span></code></p>
|
|
12436
|
+
|
|
12437
|
+
|
|
12438
|
+
|
|
12439
|
+
|
|
12440
|
+
|
|
11995
12441
|
|
|
11996
12442
|
|
|
11997
12443
|
|
|
@@ -12018,7 +12464,7 @@ from the list of fields.</p>
|
|
|
12018
12464
|
|
|
12019
12465
|
<div class="doc doc-contents ">
|
|
12020
12466
|
|
|
12021
|
-
|
|
12467
|
+
<p>Wrap DRF's DefaultRouter to return an alphabetized list of endpoints.</p>
|
|
12022
12468
|
|
|
12023
12469
|
</div>
|
|
12024
12470
|
|
|
@@ -12035,7 +12481,7 @@ from the list of fields.</p>
|
|
|
12035
12481
|
|
|
12036
12482
|
<div class="doc doc-contents ">
|
|
12037
12483
|
|
|
12038
|
-
|
|
12484
|
+
<p>Override DRF's BaseRouter.register() to bypass an unnecessary restriction added in version 3.15.0.</p>
|
|
12039
12485
|
<p>(Reference: https://github.com/encode/django-rest-framework/pull/8438)</p>
|
|
12040
12486
|
|
|
12041
12487
|
</div>
|
|
@@ -12063,10 +12509,15 @@ from the list of fields.</p>
|
|
|
12063
12509
|
|
|
12064
12510
|
<div class="doc doc-contents ">
|
|
12065
12511
|
<p class="doc doc-class-bases">
|
|
12066
|
-
Bases: <code><
|
|
12512
|
+
Bases: <code><span title="nautobot.core.api.views.NautobotAPIVersionMixin">NautobotAPIVersionMixin</span></code>, <code><a class="autorefs autorefs-internal" title="nautobot.core.api.views.ModelViewSetMixin" href="#nautobot.apps.api.ModelViewSetMixin">ModelViewSetMixin</a></code>, <code><span title="rest_framework.viewsets.ReadOnlyModelViewSet">ReadOnlyModelViewSet</span></code></p>
|
|
12513
|
+
|
|
12514
|
+
|
|
12515
|
+
<p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
|
|
12516
|
+
|
|
12517
|
+
|
|
12518
|
+
|
|
12067
12519
|
|
|
12068
12520
|
|
|
12069
|
-
<p>Extend DRF's ReadOnlyModelViewSet to support queryset restriction.</p>
|
|
12070
12521
|
|
|
12071
12522
|
|
|
12072
12523
|
|
|
@@ -12102,10 +12553,15 @@ from the list of fields.</p>
|
|
|
12102
12553
|
|
|
12103
12554
|
<div class="doc doc-contents ">
|
|
12104
12555
|
<p class="doc doc-class-bases">
|
|
12105
|
-
Bases: <code><
|
|
12556
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.ValidatedModelSerializer" href="#nautobot.apps.api.ValidatedModelSerializer">ValidatedModelSerializer</a></code></p>
|
|
12557
|
+
|
|
12558
|
+
|
|
12559
|
+
<p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
|
|
12560
|
+
|
|
12561
|
+
|
|
12562
|
+
|
|
12106
12563
|
|
|
12107
12564
|
|
|
12108
|
-
<p>Extend ValidatedModelSerializer with a <code>relationships</code> field.</p>
|
|
12109
12565
|
|
|
12110
12566
|
|
|
12111
12567
|
|
|
@@ -12131,7 +12587,7 @@ from the list of fields.</p>
|
|
|
12131
12587
|
|
|
12132
12588
|
<div class="doc doc-contents ">
|
|
12133
12589
|
|
|
12134
|
-
|
|
12590
|
+
<p>Ensure that "relationships" is included as an opt-in field on root serializers.</p>
|
|
12135
12591
|
|
|
12136
12592
|
</div>
|
|
12137
12593
|
|
|
@@ -12158,15 +12614,20 @@ from the list of fields.</p>
|
|
|
12158
12614
|
|
|
12159
12615
|
<div class="doc doc-contents ">
|
|
12160
12616
|
<p class="doc doc-class-bases">
|
|
12161
|
-
Bases: <code><
|
|
12617
|
+
Bases: <code><span title="rest_framework.relations.PrimaryKeyRelatedField">PrimaryKeyRelatedField</span></code></p>
|
|
12162
12618
|
|
|
12163
12619
|
|
|
12164
|
-
|
|
12620
|
+
<p>Extends PrimaryKeyRelatedField to return a serialized object on read. This is useful for representing related
|
|
12165
12621
|
objects in a ManyToManyField while still allowing a set of primary keys to be written.</p>
|
|
12166
12622
|
|
|
12167
12623
|
|
|
12168
12624
|
|
|
12169
12625
|
|
|
12626
|
+
|
|
12627
|
+
|
|
12628
|
+
|
|
12629
|
+
|
|
12630
|
+
|
|
12170
12631
|
<div class="doc doc-children">
|
|
12171
12632
|
|
|
12172
12633
|
|
|
@@ -12198,7 +12659,12 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12198
12659
|
|
|
12199
12660
|
<div class="doc doc-contents ">
|
|
12200
12661
|
<p class="doc doc-class-bases">
|
|
12201
|
-
Bases: <code><
|
|
12662
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12663
|
+
|
|
12664
|
+
|
|
12665
|
+
|
|
12666
|
+
|
|
12667
|
+
|
|
12202
12668
|
|
|
12203
12669
|
|
|
12204
12670
|
|
|
@@ -12225,7 +12691,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12225
12691
|
|
|
12226
12692
|
<div class="doc doc-contents ">
|
|
12227
12693
|
|
|
12228
|
-
|
|
12694
|
+
<p>Ensure that 'tags' field is always present except on nested serializers.</p>
|
|
12229
12695
|
|
|
12230
12696
|
</div>
|
|
12231
12697
|
|
|
@@ -12252,10 +12718,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12252
12718
|
|
|
12253
12719
|
<div class="doc doc-contents ">
|
|
12254
12720
|
<p class="doc doc-class-bases">
|
|
12255
|
-
Bases: <code><
|
|
12721
|
+
Bases: <code><span title="timezone_field.rest_framework.TimeZoneSerializerField">TimeZoneSerializerField</span></code></p>
|
|
12722
|
+
|
|
12723
|
+
|
|
12724
|
+
<p>Represents a time zone as a string.</p>
|
|
12725
|
+
|
|
12726
|
+
|
|
12727
|
+
|
|
12256
12728
|
|
|
12257
12729
|
|
|
12258
|
-
<p>Represents a time zone as a string.</p>
|
|
12259
12730
|
|
|
12260
12731
|
|
|
12261
12732
|
</div>
|
|
@@ -12275,10 +12746,15 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12275
12746
|
|
|
12276
12747
|
<div class="doc doc-contents ">
|
|
12277
12748
|
<p class="doc doc-class-bases">
|
|
12278
|
-
Bases: <code><
|
|
12749
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12750
|
+
|
|
12751
|
+
|
|
12752
|
+
<p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
|
|
12753
|
+
|
|
12754
|
+
|
|
12755
|
+
|
|
12279
12756
|
|
|
12280
12757
|
|
|
12281
|
-
<p>Add a <code>tree_depth</code> field to non-nested model serializers based on django-tree-queries.</p>
|
|
12282
12758
|
|
|
12283
12759
|
|
|
12284
12760
|
|
|
@@ -12304,7 +12780,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12304
12780
|
|
|
12305
12781
|
<div class="doc doc-contents ">
|
|
12306
12782
|
|
|
12307
|
-
|
|
12783
|
+
<p>Ensure that "tree_depth" is included on root serializers only, as nested objects are not annotated.</p>
|
|
12308
12784
|
|
|
12309
12785
|
</div>
|
|
12310
12786
|
|
|
@@ -12321,7 +12797,7 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12321
12797
|
|
|
12322
12798
|
<div class="doc doc-contents ">
|
|
12323
12799
|
|
|
12324
|
-
|
|
12800
|
+
<p>The <code>tree_depth</code> is not a database field, but an annotation automatically added by django-tree-queries.</p>
|
|
12325
12801
|
|
|
12326
12802
|
</div>
|
|
12327
12803
|
|
|
@@ -12348,15 +12824,20 @@ objects in a ManyToManyField while still allowing a set of primary keys to be wr
|
|
|
12348
12824
|
|
|
12349
12825
|
<div class="doc doc-contents ">
|
|
12350
12826
|
<p class="doc doc-class-bases">
|
|
12351
|
-
Bases: <code><
|
|
12827
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12352
12828
|
|
|
12353
12829
|
|
|
12354
|
-
|
|
12830
|
+
<p>Extends the built-in ModelSerializer to enforce calling full_clean() on a copy of the associated instance during
|
|
12355
12831
|
validation. (DRF does not do this by default; see https://github.com/encode/django-rest-framework/issues/3144)</p>
|
|
12356
12832
|
|
|
12357
12833
|
|
|
12358
12834
|
|
|
12359
12835
|
|
|
12836
|
+
|
|
12837
|
+
|
|
12838
|
+
|
|
12839
|
+
|
|
12840
|
+
|
|
12360
12841
|
<div class="doc doc-children">
|
|
12361
12842
|
|
|
12362
12843
|
|
|
@@ -12388,10 +12869,10 @@ validation. (DRF does not do this by default; see https://github.com/encode/djan
|
|
|
12388
12869
|
|
|
12389
12870
|
<div class="doc doc-contents ">
|
|
12390
12871
|
<p class="doc doc-class-bases">
|
|
12391
|
-
Bases: <code><
|
|
12872
|
+
Bases: <code><a class="autorefs autorefs-internal" title="nautobot.core.api.serializers.BaseModelSerializer" href="#nautobot.apps.api.BaseModelSerializer">BaseModelSerializer</a></code></p>
|
|
12392
12873
|
|
|
12393
12874
|
|
|
12394
|
-
|
|
12875
|
+
<p>Returns a nested representation of an object on read, but accepts either the nested representation or the
|
|
12395
12876
|
primary key value on write operations.</p>
|
|
12396
12877
|
<p>Note that subclasses will always have a read-only <code>object_type</code> field, which represents the content-type of this
|
|
12397
12878
|
serializer's associated model (e.g. "dcim.device"). This is required as the OpenAPI schema, using the
|
|
@@ -12401,6 +12882,11 @@ which of several possible nested serializers are in use for a given attribute.</
|
|
|
12401
12882
|
|
|
12402
12883
|
|
|
12403
12884
|
|
|
12885
|
+
|
|
12886
|
+
|
|
12887
|
+
|
|
12888
|
+
|
|
12889
|
+
|
|
12404
12890
|
<div class="doc doc-children">
|
|
12405
12891
|
|
|
12406
12892
|
|
|
@@ -12433,7 +12919,7 @@ which of several possible nested serializers are in use for a given attribute.</
|
|
|
12433
12919
|
<div class="doc doc-contents ">
|
|
12434
12920
|
|
|
12435
12921
|
|
|
12436
|
-
|
|
12922
|
+
<p>WritableSerializerMixin provides the to_internal_value() function.
|
|
12437
12923
|
The function provides the ability to write API requests that identify unique objects based on
|
|
12438
12924
|
combinations of fields other than the primary key.
|
|
12439
12925
|
e.g:
|
|
@@ -12444,6 +12930,11 @@ vs
|
|
|
12444
12930
|
|
|
12445
12931
|
|
|
12446
12932
|
|
|
12933
|
+
|
|
12934
|
+
|
|
12935
|
+
|
|
12936
|
+
|
|
12937
|
+
|
|
12447
12938
|
<div class="doc doc-children">
|
|
12448
12939
|
|
|
12449
12940
|
|
|
@@ -12465,7 +12956,7 @@ vs
|
|
|
12465
12956
|
|
|
12466
12957
|
<div class="doc doc-contents ">
|
|
12467
12958
|
|
|
12468
|
-
|
|
12959
|
+
<p>Retrieve an unique object based on a dictionary of data attributes and raise errors accordingly if the object is not found.</p>
|
|
12469
12960
|
|
|
12470
12961
|
</div>
|
|
12471
12962
|
|
|
@@ -12482,7 +12973,7 @@ vs
|
|
|
12482
12973
|
|
|
12483
12974
|
<div class="doc doc-contents ">
|
|
12484
12975
|
|
|
12485
|
-
|
|
12976
|
+
<p>Data could be a dictionary and an int (for the User model) or a str that represents the primary key.
|
|
12486
12977
|
If it is a dictionary, we return it after remove non-filter fields.
|
|
12487
12978
|
If it is a primary key, we return a dictionary object formatted like this {"pk": pk}</p>
|
|
12488
12979
|
|
|
@@ -12501,7 +12992,7 @@ If it is a primary key, we return a dictionary object formatted like this {"pk":
|
|
|
12501
12992
|
|
|
12502
12993
|
<div class="doc doc-contents ">
|
|
12503
12994
|
|
|
12504
|
-
|
|
12995
|
+
<p>Make output from a WritableSerializer "round-trip" capable by automatically stripping from the
|
|
12505
12996
|
data any serializer fields that do not correspond to a specific model field</p>
|
|
12506
12997
|
|
|
12507
12998
|
</div>
|
|
@@ -12519,7 +13010,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12519
13010
|
|
|
12520
13011
|
<div class="doc doc-contents ">
|
|
12521
13012
|
|
|
12522
|
-
|
|
13013
|
+
<p>Return an object or a list of objects based on a dictionary of data attributes or an UUID.</p>
|
|
12523
13014
|
|
|
12524
13015
|
</div>
|
|
12525
13016
|
|
|
@@ -12545,7 +13036,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12545
13036
|
|
|
12546
13037
|
<div class="doc doc-contents ">
|
|
12547
13038
|
|
|
12548
|
-
|
|
13039
|
+
<p>Translate a dictionary of attributes to a nested set of parameters suitable for QuerySet filtering. For example:</p>
|
|
12549
13040
|
<div class="highlight"><pre><span></span><code>{
|
|
12550
13041
|
"name": "Foo",
|
|
12551
13042
|
"rack": {
|
|
@@ -12578,7 +13069,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12578
13069
|
|
|
12579
13070
|
<div class="doc doc-contents ">
|
|
12580
13071
|
|
|
12581
|
-
|
|
13072
|
+
<p>Dynamically import a class from an absolute path string</p>
|
|
12582
13073
|
|
|
12583
13074
|
</div>
|
|
12584
13075
|
|
|
@@ -12595,7 +13086,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12595
13086
|
|
|
12596
13087
|
<div class="doc doc-contents ">
|
|
12597
13088
|
|
|
12598
|
-
|
|
13089
|
+
<p>Returns the serializer of an api_version</p>
|
|
12599
13090
|
|
|
12600
13091
|
|
|
12601
13092
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -12610,9 +13101,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12610
13101
|
</thead>
|
|
12611
13102
|
<tbody>
|
|
12612
13103
|
<tr class="doc-section-item">
|
|
12613
|
-
<td><code>serializer_choices</code></td>
|
|
12614
13104
|
<td>
|
|
12615
|
-
|
|
13105
|
+
<code>serializer_choices</code>
|
|
13106
|
+
</td>
|
|
13107
|
+
<td>
|
|
13108
|
+
<code>tuple</code>
|
|
12616
13109
|
</td>
|
|
12617
13110
|
<td>
|
|
12618
13111
|
<div class="doc-md-description">
|
|
@@ -12624,9 +13117,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12624
13117
|
</td>
|
|
12625
13118
|
</tr>
|
|
12626
13119
|
<tr class="doc-section-item">
|
|
12627
|
-
<td><code>api_version</code></td>
|
|
12628
13120
|
<td>
|
|
12629
|
-
|
|
13121
|
+
<code>api_version</code>
|
|
13122
|
+
</td>
|
|
13123
|
+
<td>
|
|
13124
|
+
<code>str</code>
|
|
12630
13125
|
</td>
|
|
12631
13126
|
<td>
|
|
12632
13127
|
<div class="doc-md-description">
|
|
@@ -12652,7 +13147,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12652
13147
|
<tbody>
|
|
12653
13148
|
<tr class="doc-section-item">
|
|
12654
13149
|
<td>
|
|
12655
|
-
<code
|
|
13150
|
+
<code>Serializer</code>
|
|
12656
13151
|
</td>
|
|
12657
13152
|
<td>
|
|
12658
13153
|
<div class="doc-md-description">
|
|
@@ -12678,7 +13173,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12678
13173
|
|
|
12679
13174
|
<div class="doc doc-contents ">
|
|
12680
13175
|
|
|
12681
|
-
|
|
13176
|
+
<p>Dynamically resolve and return the appropriate serializer for a model.</p>
|
|
12682
13177
|
|
|
12683
13178
|
|
|
12684
13179
|
<p><span class="doc-section-title">Raises:</span></p>
|
|
@@ -12692,7 +13187,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12692
13187
|
<tbody>
|
|
12693
13188
|
<tr class="doc-section-item">
|
|
12694
13189
|
<td>
|
|
12695
|
-
<code
|
|
13190
|
+
<code>SerializerNotFound</code>
|
|
12696
13191
|
</td>
|
|
12697
13192
|
<td>
|
|
12698
13193
|
<div class="doc-md-description">
|
|
@@ -12718,7 +13213,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12718
13213
|
|
|
12719
13214
|
<div class="doc doc-contents ">
|
|
12720
13215
|
|
|
12721
|
-
|
|
13216
|
+
<p>Derive the view name from its associated model, if it has one. Fall back to DRF's built-in <code>get_view_name</code>.</p>
|
|
12722
13217
|
|
|
12723
13218
|
</div>
|
|
12724
13219
|
|
|
@@ -12735,7 +13230,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12735
13230
|
|
|
12736
13231
|
<div class="doc doc-contents ">
|
|
12737
13232
|
|
|
12738
|
-
|
|
13233
|
+
<p>Return True of the request is being made via the REST API.</p>
|
|
12739
13234
|
|
|
12740
13235
|
</div>
|
|
12741
13236
|
|
|
@@ -12752,7 +13247,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12752
13247
|
|
|
12753
13248
|
<div class="doc doc-contents ">
|
|
12754
13249
|
|
|
12755
|
-
|
|
13250
|
+
<p>Handle exceptions and return a useful error message for REST API requests.</p>
|
|
12756
13251
|
|
|
12757
13252
|
</div>
|
|
12758
13253
|
|
|
@@ -12769,7 +13264,7 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12769
13264
|
|
|
12770
13265
|
<div class="doc doc-contents ">
|
|
12771
13266
|
|
|
12772
|
-
|
|
13267
|
+
<p>Returns appropriate serializer class depending on request api_version, and swagger_fake_view</p>
|
|
12773
13268
|
|
|
12774
13269
|
|
|
12775
13270
|
<p><span class="doc-section-title">Parameters:</span></p>
|
|
@@ -12784,7 +13279,9 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12784
13279
|
</thead>
|
|
12785
13280
|
<tbody>
|
|
12786
13281
|
<tr class="doc-section-item">
|
|
12787
|
-
<td
|
|
13282
|
+
<td>
|
|
13283
|
+
<code>obj</code>
|
|
13284
|
+
</td>
|
|
12788
13285
|
<td>
|
|
12789
13286
|
<code>ViewSet instance</code>
|
|
12790
13287
|
</td>
|
|
@@ -12798,9 +13295,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12798
13295
|
</td>
|
|
12799
13296
|
</tr>
|
|
12800
13297
|
<tr class="doc-section-item">
|
|
12801
|
-
<td><code>serializer_choices</code></td>
|
|
12802
13298
|
<td>
|
|
12803
|
-
|
|
13299
|
+
<code>serializer_choices</code>
|
|
13300
|
+
</td>
|
|
13301
|
+
<td>
|
|
13302
|
+
<code>tuple</code>
|
|
12804
13303
|
</td>
|
|
12805
13304
|
<td>
|
|
12806
13305
|
<div class="doc-md-description">
|
|
@@ -12812,9 +13311,11 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12812
13311
|
</td>
|
|
12813
13312
|
</tr>
|
|
12814
13313
|
<tr class="doc-section-item">
|
|
12815
|
-
<td><code>default_serializer</code></td>
|
|
12816
13314
|
<td>
|
|
12817
|
-
|
|
13315
|
+
<code>default_serializer</code>
|
|
13316
|
+
</td>
|
|
13317
|
+
<td>
|
|
13318
|
+
<code>Serializer</code>
|
|
12818
13319
|
</td>
|
|
12819
13320
|
<td>
|
|
12820
13321
|
<div class="doc-md-description">
|
|
@@ -12982,10 +13483,10 @@ data any serializer fields that do not correspond to a specific model field</p>
|
|
|
12982
13483
|
</div>
|
|
12983
13484
|
|
|
12984
13485
|
|
|
12985
|
-
<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>
|
|
13486
|
+
<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>
|
|
12986
13487
|
|
|
12987
13488
|
|
|
12988
|
-
<script src="../../../assets/javascripts/bundle.
|
|
13489
|
+
<script src="../../../assets/javascripts/bundle.88dd0f4e.min.js"></script>
|
|
12989
13490
|
|
|
12990
13491
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
|
12991
13492
|
|