nautobot 2.0.0a2__py3-none-any.whl → 2.0.0b1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- nautobot/__init__.py +1 -5
- nautobot/apps/api.py +6 -8
- nautobot/apps/forms.py +0 -2
- nautobot/apps/ui.py +0 -8
- nautobot/circuits/api/serializers.py +9 -119
- nautobot/circuits/api/urls.py +1 -1
- nautobot/circuits/api/views.py +0 -1
- nautobot/circuits/choices.py +0 -2
- nautobot/circuits/filters.py +7 -6
- nautobot/circuits/forms.py +3 -73
- nautobot/circuits/migrations/0001_initial_part_1.py +0 -1
- nautobot/circuits/migrations/0002_initial_part_2.py +0 -1
- nautobot/circuits/migrations/0003_auto_slug.py +0 -1
- nautobot/circuits/migrations/0004_increase_provider_account_length.py +0 -1
- nautobot/circuits/migrations/0005_providernetwork.py +0 -1
- nautobot/circuits/migrations/0006_cache_circuit_terminations.py +0 -1
- nautobot/circuits/migrations/0007_circuitterminations_primary_model.py +0 -1
- nautobot/circuits/migrations/0008_add_natural_indexing.py +0 -1
- nautobot/circuits/migrations/0009_circuittermination_location.py +0 -1
- nautobot/circuits/migrations/0010_rename_foreign_keys_and_related_names.py +0 -1
- nautobot/circuits/migrations/0011_remove_site_foreign_key_from_circuit_termination_class.py +0 -1
- nautobot/circuits/migrations/0012_created_datetime.py +0 -1
- nautobot/circuits/migrations/0013_alter_circuittermination__path.py +0 -1
- nautobot/circuits/migrations/0014_related_name_changes.py +1 -2
- nautobot/circuits/migrations/0015_remove_circuittype_provider_slug.py +20 -0
- nautobot/circuits/migrations/0016_tagsfield.py +34 -0
- nautobot/circuits/migrations/0017_fixup_null_statuses.py +22 -0
- nautobot/circuits/migrations/0018_status_nonnullable.py +22 -0
- nautobot/circuits/models.py +3 -93
- nautobot/circuits/navigation.py +14 -69
- nautobot/circuits/signals.py +0 -2
- nautobot/circuits/tables.py +42 -5
- nautobot/circuits/templates/circuits/circuit_retrieve.html +1 -1
- nautobot/circuits/templates/circuits/circuittermination_retrieve.html +1 -1
- nautobot/circuits/templates/circuits/circuittype_retrieve.html +1 -1
- nautobot/circuits/templates/circuits/provider_create.html +0 -1
- nautobot/circuits/templates/circuits/provider_retrieve.html +1 -1
- nautobot/circuits/tests/integration/test_relationships.py +13 -16
- nautobot/circuits/tests/test_api.py +13 -43
- nautobot/circuits/tests/test_filters.py +20 -15
- nautobot/circuits/tests/test_models.py +7 -3
- nautobot/circuits/tests/test_views.py +57 -67
- nautobot/circuits/views.py +18 -9
- nautobot/core/api/__init__.py +8 -2
- nautobot/core/api/authentication.py +0 -3
- nautobot/core/api/fields.py +15 -6
- nautobot/core/api/filter_backends.py +3 -2
- nautobot/core/api/metadata.py +237 -30
- nautobot/core/api/mixins.py +94 -0
- nautobot/core/api/pagination.py +3 -3
- nautobot/core/api/parsers.py +154 -0
- nautobot/core/api/renderers.py +153 -2
- nautobot/core/api/schema.py +47 -3
- nautobot/core/api/serializers.py +377 -37
- nautobot/core/api/urls.py +11 -3
- nautobot/core/api/utils.py +174 -2
- nautobot/core/api/versioning.py +32 -10
- nautobot/core/api/views.py +266 -75
- nautobot/core/apps/__init__.py +138 -221
- nautobot/core/celery/__init__.py +112 -41
- nautobot/core/celery/backends.py +19 -13
- nautobot/core/celery/control.py +46 -0
- nautobot/core/celery/encoders.py +53 -0
- nautobot/core/celery/log.py +38 -0
- nautobot/core/celery/schedulers.py +23 -4
- nautobot/core/celery/task.py +1 -16
- nautobot/core/checks.py +0 -27
- nautobot/core/choices.py +21 -113
- nautobot/core/{cli.py → cli/__init__.py} +1 -2
- nautobot/core/cli/__main__.py +3 -0
- nautobot/core/constants.py +25 -43
- nautobot/core/context_processors.py +12 -0
- nautobot/core/filters.py +2 -2
- nautobot/core/forms/__init__.py +0 -4
- nautobot/core/forms/fields.py +39 -68
- nautobot/core/forms/forms.py +27 -27
- nautobot/core/forms/utils.py +7 -59
- nautobot/core/forms/widgets.py +0 -1
- nautobot/core/graphql/__init__.py +2 -2
- nautobot/core/graphql/schema.py +4 -27
- nautobot/core/jobs/__init__.py +75 -0
- nautobot/core/management/commands/build_ui.py +255 -0
- nautobot/core/management/commands/celery.py +0 -1
- nautobot/core/management/commands/generate_test_data.py +18 -13
- nautobot/core/management/commands/post_upgrade.py +24 -24
- nautobot/core/management/commands/validate_models.py +0 -1
- nautobot/core/middleware.py +0 -1
- nautobot/core/models/__init__.py +26 -1
- nautobot/core/models/fields.py +24 -5
- nautobot/core/models/generics.py +2 -46
- nautobot/core/models/managers.py +5 -0
- nautobot/core/models/name_color_content_types.py +1 -19
- nautobot/core/models/tree_queries.py +14 -4
- nautobot/core/models/utils.py +9 -10
- nautobot/core/models/validators.py +17 -8
- nautobot/core/releases.py +8 -10
- nautobot/core/settings.py +81 -53
- nautobot/core/tables.py +5 -5
- nautobot/core/tasks.py +4 -7
- nautobot/core/templates/base.html +1 -49
- nautobot/core/templates/base_django.html +49 -0
- nautobot/core/templates/base_react.html +55 -0
- nautobot/core/templates/buttons/export.html +6 -4
- nautobot/core/templates/generic/object_bulk_create.html +10 -21
- nautobot/core/templates/generic/object_list.html +4 -1
- nautobot/core/templates/generic/object_retrieve_plugin_full_width.html +3 -0
- nautobot/core/templates/inc/footer.html +1 -0
- nautobot/core/templates/inc/javascript.html +0 -14
- nautobot/core/templates/inc/nav_menu.html +28 -33
- nautobot/core/templates/inc/object_details_advanced_panel.html +13 -0
- nautobot/core/templates/inc/relationships_table_rows.html +2 -2
- nautobot/core/templates/nautobot_config.py.j2 +8 -25
- nautobot/core/templates/plugin_template/__init__.py-tpl +1 -2
- nautobot/core/templates/rest_framework/api.html +8 -0
- nautobot/core/templatetags/buttons.py +32 -29
- nautobot/core/templatetags/helpers.py +1 -1
- nautobot/core/testing/__init__.py +47 -44
- nautobot/core/testing/api.py +365 -47
- nautobot/core/testing/filters.py +12 -7
- nautobot/core/testing/integration.py +1 -1
- nautobot/core/testing/migrations.py +2 -0
- nautobot/core/testing/mixins.py +22 -12
- nautobot/core/testing/schema.py +2 -1
- nautobot/core/testing/views.py +28 -51
- nautobot/core/tests/integration/test_filters.py +17 -8
- nautobot/core/tests/integration/test_navbar.py +11 -34
- nautobot/core/tests/integration/test_plugin_navbar.py +9 -103
- nautobot/core/tests/nautobot_config.py +2 -3
- nautobot/core/tests/runner.py +0 -1
- nautobot/core/tests/test_api.py +290 -24
- nautobot/core/tests/test_authentication.py +57 -14
- nautobot/core/tests/test_checks.py +0 -7
- nautobot/core/tests/test_choices.py +0 -1
- nautobot/core/tests/test_filters.py +117 -110
- nautobot/core/tests/test_forms.py +47 -110
- nautobot/core/tests/test_graphql.py +158 -135
- nautobot/core/tests/test_logging.py +4 -1
- nautobot/core/tests/test_managers.py +3 -5
- nautobot/core/tests/test_models.py +2 -0
- nautobot/core/tests/test_ordering.py +0 -2
- nautobot/core/tests/test_paginator.py +3 -1
- nautobot/core/tests/test_releases.py +12 -12
- nautobot/core/tests/test_templatetags_helpers.py +7 -4
- nautobot/core/tests/test_utils.py +112 -78
- nautobot/core/tests/test_views.py +12 -17
- nautobot/core/tests/test_views_utils.py +6 -9
- nautobot/core/utils/data.py +17 -0
- nautobot/core/utils/deprecation.py +13 -20
- nautobot/core/utils/filtering.py +53 -9
- nautobot/core/utils/git.py +12 -4
- nautobot/core/utils/lookup.py +3 -1
- nautobot/core/utils/requests.py +23 -116
- nautobot/core/views/__init__.py +1 -2
- nautobot/core/views/generic.py +131 -119
- nautobot/core/views/mixins.py +53 -62
- nautobot/core/views/paginator.py +0 -1
- nautobot/core/views/renderers.py +14 -12
- nautobot/core/views/utils.py +87 -4
- nautobot/dcim/api/serializers.py +160 -672
- nautobot/dcim/api/urls.py +1 -1
- nautobot/dcim/api/views.py +7 -46
- nautobot/dcim/choices.py +2 -25
- nautobot/dcim/elevations.py +0 -1
- nautobot/dcim/factory.py +15 -4
- nautobot/dcim/filters/__init__.py +42 -13
- nautobot/dcim/form_mixins.py +1 -27
- nautobot/dcim/forms.py +58 -797
- nautobot/dcim/management/commands/trace_paths.py +0 -1
- nautobot/dcim/migrations/0001_initial_part_1.py +0 -1
- nautobot/dcim/migrations/0002_initial_part_2.py +0 -1
- nautobot/dcim/migrations/0003_initial_part_3.py +0 -1
- nautobot/dcim/migrations/0004_initial_part_4.py +0 -1
- nautobot/dcim/migrations/0005_device_local_context_schema.py +0 -1
- nautobot/dcim/migrations/0006_auto_slug.py +0 -1
- nautobot/dcim/migrations/0007_device_secrets_group.py +0 -1
- nautobot/dcim/migrations/0008_increase_all_serial_lengths.py +0 -1
- nautobot/dcim/migrations/0009_add_natural_indexing.py +0 -1
- nautobot/dcim/migrations/0010_interface_status.py +0 -1
- nautobot/dcim/migrations/0011_interface_status_data_migration.py +0 -1
- nautobot/dcim/migrations/0012_interface_parent_bridge.py +0 -1
- nautobot/dcim/migrations/0013_location_location_type.py +0 -1
- nautobot/dcim/migrations/0014_location_status_data_migration.py +0 -1
- nautobot/dcim/migrations/0015_device_components__changeloggedmodel.py +0 -1
- nautobot/dcim/migrations/0016_device_components__timestamp_data_migration.py +0 -1
- nautobot/dcim/migrations/0017_locationtype_nestable.py +0 -1
- nautobot/dcim/migrations/0018_device_redundancy_group.py +0 -1
- nautobot/dcim/migrations/0019_device_redundancy_group_data_migration.py +0 -1
- nautobot/dcim/migrations/0020_move_site_fields_to_location_model.py +0 -1
- nautobot/dcim/migrations/0021_mptt_to_tree_queries.py +0 -1
- nautobot/dcim/migrations/0022_interface_mac_address_data_migration.py +0 -1
- nautobot/dcim/migrations/0023_alter_interface_mac_address.py +0 -1
- nautobot/dcim/migrations/0024_alter_device_and_rack_role_add_new_role.py +2 -2
- nautobot/dcim/migrations/0025_device_and_rack_roles_data_migrations.py +19 -14
- nautobot/dcim/migrations/0026_rename_device_and_rack_role.py +0 -1
- nautobot/dcim/migrations/0027_remove_device_role_and_rack_role.py +1 -2
- nautobot/dcim/migrations/0028_rename_foreignkey_fields.py +1 -2
- nautobot/dcim/migrations/0029_add_tree_managers_and_foreign_keys_pre_data_migration.py +0 -1
- nautobot/dcim/migrations/0030_migrate_region_and_site_data_to_locations.py +2 -2
- nautobot/dcim/migrations/0031_rename_path_end_point_related_name.py +0 -1
- nautobot/dcim/migrations/0032_remove_site_foreign_key_from_dcim_models.py +0 -1
- nautobot/dcim/migrations/0033_created_datetime.py +0 -1
- nautobot/dcim/migrations/0034_fixup_fks_and_related_names.py +0 -1
- nautobot/dcim/migrations/0035_related_name_changes.py +1 -2
- nautobot/dcim/migrations/0036_remove_region_and_site.py +1 -2
- nautobot/dcim/migrations/0037_interface_ip_addresses_m2m.py +0 -1
- nautobot/dcim/migrations/0038_alter_location_managers.py +0 -1
- nautobot/dcim/migrations/0039_remove_slug.py +24 -0
- nautobot/dcim/migrations/0040_tagsfield.py +109 -0
- nautobot/dcim/migrations/0041_ipam__namespaces.py +25 -0
- nautobot/dcim/migrations/0042_fixup_null_statuses.py +51 -0
- nautobot/dcim/migrations/0043_status_nonnullable.py +72 -0
- nautobot/dcim/models/cables.py +4 -35
- nautobot/dcim/models/device_component_templates.py +7 -2
- nautobot/dcim/models/device_components.py +26 -203
- nautobot/dcim/models/devices.py +30 -152
- nautobot/dcim/models/locations.py +3 -64
- nautobot/dcim/models/power.py +3 -51
- nautobot/dcim/models/racks.py +7 -86
- nautobot/dcim/navigation.py +141 -467
- nautobot/dcim/signals.py +0 -2
- nautobot/dcim/tables/devices.py +8 -5
- nautobot/dcim/tables/devicetypes.py +1 -1
- nautobot/dcim/tables/locations.py +2 -2
- nautobot/dcim/tables/power.py +2 -2
- nautobot/dcim/templates/dcim/console_port_connection_list.html +7 -0
- nautobot/dcim/templates/dcim/device.html +15 -4
- nautobot/dcim/templates/dcim/device_edit.html +6 -0
- nautobot/dcim/templates/dcim/deviceredundancygroup_create.html +0 -1
- nautobot/dcim/templates/dcim/devicetype.html +2 -2
- nautobot/dcim/templates/dcim/interface.html +4 -0
- nautobot/dcim/templates/dcim/interface_connection_list.html +7 -0
- nautobot/dcim/templates/dcim/interface_edit.html +1 -0
- nautobot/dcim/templates/dcim/location.html +16 -1
- nautobot/dcim/templates/dcim/locationtype.html +15 -0
- nautobot/dcim/templates/dcim/power_port_connection_list.html +7 -0
- nautobot/dcim/templates/dcim/rackgroup.html +0 -12
- nautobot/dcim/tests/integration/test_cable_connect_form.py +4 -4
- nautobot/dcim/tests/test_api.py +202 -130
- nautobot/dcim/tests/test_cablepaths.py +47 -42
- nautobot/dcim/tests/test_filters.py +156 -134
- nautobot/dcim/tests/test_forms.py +12 -213
- nautobot/dcim/tests/test_graphql.py +8 -3
- nautobot/dcim/tests/test_migrations.py +6 -11
- nautobot/dcim/tests/test_models.py +208 -158
- nautobot/dcim/tests/test_natural_ordering.py +12 -14
- nautobot/dcim/tests/test_signals.py +7 -4
- nautobot/dcim/tests/test_views.py +270 -264
- nautobot/dcim/urls.py +21 -26
- nautobot/dcim/views.py +14 -156
- nautobot/docs/additional-features/caching.md +6 -87
- nautobot/docs/additional-features/job-scheduling-and-approvals.md +3 -0
- nautobot/docs/additional-features/jobs.md +179 -197
- nautobot/docs/administration/nautobot-server.md +9 -24
- nautobot/docs/administration/nautobot-shell.md +6 -6
- nautobot/docs/administration/replicating-nautobot.md +0 -10
- nautobot/docs/configuration/index.md +9 -9
- nautobot/docs/configuration/optional-settings.md +32 -61
- nautobot/docs/configuration/required-settings.md +11 -52
- nautobot/docs/development/application-registry.md +2 -13
- nautobot/docs/development/best-practices.md +2 -1
- nautobot/docs/development/docker-compose-advanced-use-cases.md +1 -1
- nautobot/docs/development/extending-models.md +15 -17
- nautobot/docs/development/generic-views.md +0 -2
- nautobot/docs/development/getting-started.md +56 -6
- nautobot/docs/development/navigation-menu.md +22 -93
- nautobot/docs/development/react-ui.md +105 -0
- nautobot/docs/development/release-checklist.md +3 -3
- nautobot/docs/development/role-internals.md +1 -3
- nautobot/docs/development/style-guide.md +6 -4
- nautobot/docs/development/templates.md +2 -1
- nautobot/docs/docker/index.md +16 -14
- nautobot/docs/index.md +7 -3
- nautobot/docs/installation/index.md +4 -1
- nautobot/docs/installation/migrating-from-netbox.md +12 -43
- nautobot/docs/installation/migrating-from-postgresql.md +1 -1
- nautobot/docs/installation/nautobot.md +1 -1
- nautobot/docs/installation/tables/v2-api-behavior-changes.yaml +70 -0
- nautobot/docs/installation/tables/v2-api-removed-fields.yaml +142 -0
- nautobot/docs/installation/tables/v2-api-renamed-fields.yaml +124 -0
- nautobot/docs/installation/tables/v2-code-location-changes.yaml +241 -0
- nautobot/docs/installation/tables/v2-code-removals.yaml +67 -0
- nautobot/docs/installation/tables/v2-database-behavior-changes.yaml +37 -0
- nautobot/docs/installation/tables/v2-database-removed-fields.yaml +166 -0
- nautobot/docs/installation/tables/v2-database-renamed-fields.yaml +340 -0
- nautobot/docs/installation/tables/v2-filters-corrected-fields.yaml +28 -0
- nautobot/docs/installation/tables/v2-filters-enhanced-fields.yaml +241 -0
- nautobot/docs/installation/tables/v2-filters-removed-fields.yaml +553 -0
- nautobot/docs/installation/tables/v2-filters-renamed-fields.yaml +223 -0
- nautobot/docs/installation/tables/v2-logging-renamed-loggers.yaml +23 -0
- nautobot/docs/installation/upgrading-from-nautobot-v1.md +190 -636
- nautobot/docs/installation/upgrading.md +5 -2
- nautobot/docs/models/dcim/device.md +3 -0
- nautobot/docs/models/dcim/deviceredundancygroup.md +3 -3
- nautobot/docs/models/extras/computedfield.md +4 -4
- nautobot/docs/models/extras/dynamicgroup.md +9 -9
- nautobot/docs/models/extras/gitrepository.md +3 -0
- nautobot/docs/models/extras/job.md +1 -0
- nautobot/docs/models/extras/jobbutton.md +18 -13
- nautobot/docs/models/extras/jobhook.md +7 -4
- nautobot/docs/models/extras/jobresult.md +6 -2
- nautobot/docs/models/extras/relationship.md +2 -2
- nautobot/docs/models/extras/status.md +6 -19
- nautobot/docs/models/ipam/ipaddress.md +3 -0
- nautobot/docs/models/ipam/vrf.md +0 -3
- nautobot/docs/models/virtualization/virtualmachine.md +3 -0
- nautobot/docs/plugins/development.md +92 -24
- nautobot/docs/release-notes/version-1.5.md +96 -0
- nautobot/docs/release-notes/version-2.0.md +216 -0
- nautobot/docs/requirements.txt +5 -4
- nautobot/docs/rest-api/overview.md +384 -215
- nautobot/docs/rest-api/ui-related-endpoints.md +9 -0
- nautobot/extras/admin.py +3 -5
- nautobot/extras/api/customfields.py +15 -39
- nautobot/extras/api/fields.py +0 -11
- nautobot/extras/api/mixins.py +45 -0
- nautobot/extras/api/relationships.py +63 -159
- nautobot/extras/api/serializers.py +165 -706
- nautobot/extras/api/urls.py +1 -1
- nautobot/extras/api/views.py +295 -282
- nautobot/extras/apps.py +4 -7
- nautobot/extras/choices.py +11 -22
- nautobot/extras/constants.py +9 -3
- nautobot/extras/datasources/__init__.py +2 -0
- nautobot/extras/datasources/git.py +135 -186
- nautobot/extras/datasources/registry.py +25 -35
- nautobot/extras/factory.py +1 -3
- nautobot/extras/filters/__init__.py +49 -47
- nautobot/extras/filters/mixins.py +10 -8
- nautobot/extras/forms/forms.py +72 -148
- nautobot/extras/forms/mixins.py +34 -57
- nautobot/extras/health_checks.py +0 -33
- nautobot/extras/jobs.py +387 -566
- nautobot/extras/management/__init__.py +55 -48
- nautobot/extras/management/commands/renaturalize.py +0 -1
- nautobot/extras/management/commands/runjob.py +24 -62
- nautobot/extras/management/commands/webhook_receiver.py +0 -1
- nautobot/extras/managers.py +30 -7
- nautobot/extras/migrations/0001_initial_part_1.py +0 -1
- nautobot/extras/migrations/0002_initial_part_2.py +0 -1
- nautobot/extras/migrations/0003_initial_part_3.py +0 -1
- nautobot/extras/migrations/0004_populate_default_status_records.py +0 -1
- nautobot/extras/migrations/0005_configcontext_device_types.py +0 -1
- nautobot/extras/migrations/0006_graphqlquery.py +0 -1
- nautobot/extras/migrations/0007_configcontextschema.py +0 -1
- nautobot/extras/migrations/0008_jobresult__custom_field_data.py +0 -1
- nautobot/extras/migrations/0009_computedfield.py +0 -1
- nautobot/extras/migrations/0010_change_cf_validation_max_min_field_to_bigint.py +0 -1
- nautobot/extras/migrations/0011_fileattachment_fileproxy.py +0 -1
- nautobot/extras/migrations/0012_healthchecktestmodel.py +0 -1
- nautobot/extras/migrations/0013_default_fallback_value_computedfield.py +0 -1
- nautobot/extras/migrations/0014_auto_slug.py +0 -1
- nautobot/extras/migrations/0015_scheduled_job.py +0 -1
- nautobot/extras/migrations/0016_secret.py +0 -1
- nautobot/extras/migrations/0017_joblogentry.py +0 -1
- nautobot/extras/migrations/0018_joblog_data_migration.py +0 -2
- nautobot/extras/migrations/0019_joblogentry__meta_options__related_name.py +0 -1
- nautobot/extras/migrations/0020_customfield_changelog.py +0 -1
- nautobot/extras/migrations/0021_customfield_changelog_data.py +0 -1
- nautobot/extras/migrations/0022_objectchange_object_datav2.py +0 -1
- nautobot/extras/migrations/0023_job_model.py +0 -1
- nautobot/extras/migrations/0024_job_data_migration.py +0 -1
- nautobot/extras/migrations/0025_add_advanced_ui_boolean_to_customfield_conputedfield_and_relationship.py +0 -1
- nautobot/extras/migrations/0026_job_add_gitrepository_fk.py +0 -1
- nautobot/extras/migrations/0027_job_gitrepository_data_migration.py +0 -1
- nautobot/extras/migrations/0028_job_reduce_source.py +0 -1
- nautobot/extras/migrations/0029_dynamicgroup.py +0 -1
- nautobot/extras/migrations/0030_webhook_alter_unique_together.py +0 -1
- nautobot/extras/migrations/0031_tag_content_types.py +0 -1
- nautobot/extras/migrations/0032_tag_content_types_data_migration.py +0 -1
- nautobot/extras/migrations/0033_add__optimized_indexing.py +0 -1
- nautobot/extras/migrations/0034_alter_fileattachment_mimetype.py +0 -1
- nautobot/extras/migrations/0035_scheduledjob_crontab.py +0 -1
- nautobot/extras/migrations/0036_job_add_has_sensitive_variables.py +0 -1
- nautobot/extras/migrations/0037_configcontextschema__remove_name_unique__create_constraint_unique_name_owner.py +0 -1
- nautobot/extras/migrations/0038_configcontext_locations.py +0 -1
- nautobot/extras/migrations/0039_objectchange__add_change_context.py +0 -1
- nautobot/extras/migrations/0040_dynamicgroup__dynamicgroupmembership.py +0 -1
- nautobot/extras/migrations/0041_jobresult_job_kwargs.py +0 -1
- nautobot/extras/migrations/0042_job__add_is_job_hook_receiver.py +0 -1
- nautobot/extras/migrations/0043_note.py +0 -1
- nautobot/extras/migrations/0044_add_job_hook.py +0 -1
- nautobot/extras/migrations/0045_add_custom_field_slug.py +0 -1
- nautobot/extras/migrations/0046_populate_custom_field_slug_label.py +0 -1
- nautobot/extras/migrations/0047_enforce_custom_field_slug.py +0 -1
- nautobot/extras/migrations/0048_alter_objectchange_change_context_detail.py +0 -1
- nautobot/extras/migrations/0049_alter_tag_slug.py +0 -1
- nautobot/extras/migrations/0050_customfield_grouping.py +0 -1
- nautobot/extras/migrations/0051_add_job_task_queues.py +0 -1
- nautobot/extras/migrations/0052_configcontext_device_redundancy_groups.py +0 -1
- nautobot/extras/migrations/0053_relationship_required_on.py +0 -1
- nautobot/extras/migrations/0054_scheduledjob_kwargs_request_user_change.py +0 -1
- nautobot/extras/migrations/0055_configcontext_dynamic_groups.py +0 -1
- nautobot/extras/migrations/0056_objectchange_add_reverse_time_idx.py +0 -1
- nautobot/extras/migrations/0057_jobbutton.py +0 -1
- nautobot/extras/migrations/0058_jobresult_add_time_status_idxs.py +38 -0
- nautobot/extras/migrations/{0058_joblogentry_scheduledjob_webhook_data_migration.py → 0059_joblogentry_scheduledjob_webhook_data_migration.py} +1 -2
- nautobot/extras/migrations/{0059_alter_joblogentry_scheduledjob_webhook_fields.py → 0060_alter_joblogentry_scheduledjob_webhook_fields.py} +1 -2
- nautobot/extras/migrations/{0060_role_and_alter_status.py → 0061_role_and_alter_status.py} +1 -8
- nautobot/extras/migrations/{0061_collect_roles_from_related_apps_roles.py → 0062_collect_roles_from_related_apps_roles.py} +33 -33
- nautobot/extras/migrations/{0062_alter_role_options.py → 0063_alter_role_options.py} +1 -2
- nautobot/extras/migrations/{0063_alter_configcontext_and_add_new_role.py → 0064_alter_configcontext_and_add_new_role.py} +1 -2
- nautobot/extras/migrations/0065_configcontext_data_migrations.py +44 -0
- nautobot/extras/migrations/{0065_rename_configcontext_role.py → 0066_rename_configcontext_role.py} +1 -2
- nautobot/extras/migrations/{0066_jobresult__add_celery_fields.py → 0067_jobresult__add_celery_fields.py} +36 -3
- nautobot/extras/migrations/{0067_created_datetime.py → 0068_created_datetime.py} +1 -2
- nautobot/extras/migrations/{0068_remove_site_and_region_attributes_from_config_context.py → 0069_remove_site_and_region_attributes_from_config_context.py} +1 -2
- nautobot/extras/migrations/{0069_replace_related_names.py → 0070_replace_related_names.py} +1 -1
- nautobot/extras/migrations/{0070_rename_model_fields.py → 0071_rename_model_fields.py} +1 -2
- nautobot/extras/migrations/0072_job__unique_name_data_migration.py +86 -0
- nautobot/extras/migrations/{0072_job__unique_name.py → 0073_job__unique_name.py} +13 -10
- nautobot/extras/migrations/{0073_remove_gitrepository_fields.py → 0074_remove_gitrepository_fields.py} +1 -2
- nautobot/extras/migrations/{0074_rename_slug_to_key_for_custom_field.py → 0075_rename_slug_to_key_for_custom_field.py} +1 -1
- nautobot/extras/migrations/{0075_migrate_custom_field_data.py → 0076_migrate_custom_field_data.py} +1 -1
- nautobot/extras/migrations/{0076_remove_name_field_and_make_label_field_non_nullable.py → 0077_remove_name_field_and_make_label_field_non_nullable.py} +1 -1
- nautobot/extras/migrations/0078_remove_slug.py +45 -0
- nautobot/extras/migrations/0079_tagsfield.py +28 -0
- nautobot/extras/migrations/0080_rename_relationship_slug_to_key.py +17 -0
- nautobot/extras/migrations/0081_rename_relationship_name_to_label.py +29 -0
- nautobot/extras/migrations/0082_ensure_relationship_keys_are_unique.py +43 -0
- nautobot/extras/migrations/0083_rename_computed_field_slug_to_key.py +21 -0
- nautobot/extras/migrations/0084_taggeditem_cleanup.py +43 -0
- nautobot/extras/migrations/0085_taggeditem_uniqueness.py +22 -0
- nautobot/extras/migrations/0086_job__celery_task_fields__dryrun_support.py +81 -0
- nautobot/extras/migrations/0087_job__commit_default_data_migration.py +26 -0
- nautobot/extras/migrations/0088_joblogentry__log_level_default.py +17 -0
- nautobot/extras/migrations/0089_joblogentry__log_level_data_migration.py +34 -0
- nautobot/extras/migrations/0090_scheduledjob__data_migration.py +57 -0
- nautobot/extras/models/__init__.py +2 -3
- nautobot/extras/models/change_logging.py +0 -36
- nautobot/extras/models/customfields.py +39 -33
- nautobot/extras/models/datasources.py +48 -50
- nautobot/extras/models/groups.py +5 -12
- nautobot/extras/models/jobs.py +190 -323
- nautobot/extras/models/mixins.py +0 -71
- nautobot/extras/models/models.py +1 -22
- nautobot/extras/models/relationships.py +20 -21
- nautobot/extras/models/roles.py +0 -23
- nautobot/extras/models/secrets.py +2 -31
- nautobot/extras/models/statuses.py +6 -5
- nautobot/extras/models/tags.py +2 -17
- nautobot/extras/navigation.py +89 -307
- nautobot/extras/plugins/__init__.py +3 -121
- nautobot/extras/plugins/utils.py +0 -3
- nautobot/extras/plugins/validators.py +5 -4
- nautobot/extras/plugins/views.py +16 -4
- nautobot/extras/querysets.py +1 -7
- nautobot/extras/registry.py +3 -0
- nautobot/extras/signals.py +26 -60
- nautobot/extras/tables.py +42 -49
- nautobot/extras/tasks.py +0 -12
- nautobot/extras/templates/extras/configcontext.html +1 -1
- nautobot/extras/templates/extras/configcontextschema.html +16 -1
- nautobot/extras/templates/extras/customfield.html +0 -13
- nautobot/extras/templates/extras/dynamicgroup_edit.html +0 -1
- nautobot/extras/templates/extras/gitrepository.html +3 -3
- nautobot/extras/templates/extras/inc/jobresult.html +10 -0
- nautobot/extras/templates/extras/inc/panel_jobhistory.html +1 -1
- nautobot/extras/templates/extras/job.html +35 -25
- nautobot/extras/templates/extras/job_approval_request.html +15 -30
- nautobot/extras/templates/extras/job_detail.html +13 -31
- nautobot/extras/templates/extras/job_edit.html +14 -17
- nautobot/extras/templates/extras/jobresult.html +24 -6
- nautobot/extras/templates/extras/objectchange_list.html +1 -1
- nautobot/extras/templates/extras/scheduledjob.html +2 -2
- nautobot/extras/templates/extras/secret.html +28 -0
- nautobot/extras/templates/extras/secret_edit.html +0 -1
- nautobot/extras/templates/extras/secretsgroup_edit.html +0 -1
- nautobot/extras/templatetags/custom_links.py +0 -2
- nautobot/extras/templatetags/job_buttons.py +1 -0
- nautobot/extras/templatetags/plugins.py +0 -1
- nautobot/extras/{tests/example_jobs → test_jobs}/api_test_job.py +13 -6
- nautobot/extras/test_jobs/atomic_transaction.py +53 -0
- nautobot/extras/test_jobs/dry_run.py +29 -0
- nautobot/extras/{tests/example_jobs/test_duplicate_name.py → test_jobs/duplicate_name.py} +4 -0
- nautobot/extras/test_jobs/duplicate_name2.py +9 -0
- nautobot/extras/test_jobs/fail.py +23 -0
- nautobot/extras/{tests/example_jobs/test_field_default.py → test_jobs/field_default.py} +4 -0
- nautobot/extras/{tests/example_jobs/test_field_order.py → test_jobs/field_order.py} +4 -0
- nautobot/extras/{tests/example_jobs/test_file_upload_fail.py → test_jobs/file_upload_fail.py} +11 -6
- nautobot/extras/test_jobs/file_upload_pass.py +25 -0
- nautobot/extras/test_jobs/has_sensitive_variables.py +25 -0
- nautobot/extras/test_jobs/ipaddress_vars.py +66 -0
- nautobot/extras/test_jobs/job_button_receiver.py +28 -0
- nautobot/extras/test_jobs/job_hook_receiver.py +29 -0
- nautobot/extras/test_jobs/job_variables.py +88 -0
- nautobot/extras/test_jobs/location_with_custom_field.py +45 -0
- nautobot/extras/test_jobs/log_redaction.py +20 -0
- nautobot/extras/test_jobs/log_skip_db_logging.py +17 -0
- nautobot/extras/test_jobs/modify_db.py +25 -0
- nautobot/extras/{tests/example_jobs/test_no_field_order.py → test_jobs/no_field_order.py} +4 -0
- nautobot/extras/test_jobs/object_var_optional.py +21 -0
- nautobot/extras/test_jobs/object_var_required.py +21 -0
- nautobot/extras/test_jobs/object_vars.py +26 -0
- nautobot/extras/test_jobs/pass.py +25 -0
- nautobot/extras/test_jobs/profiling.py +32 -0
- nautobot/extras/test_jobs/read_only_job.py +15 -0
- nautobot/extras/{tests/example_jobs/test_required_args.py → test_jobs/required_args.py} +4 -0
- nautobot/extras/{tests/example_jobs/test_soft_time_limit_greater_than_time_limit.py → test_jobs/soft_time_limit_greater_than_time_limit.py} +5 -1
- nautobot/extras/{tests/example_jobs/test_task_queues.py → test_jobs/task_queues.py} +5 -1
- nautobot/extras/tests/integration/__init__.py +3 -3
- nautobot/extras/tests/integration/test_computedfields.py +1 -1
- nautobot/extras/tests/integration/test_configcontextschema.py +7 -5
- nautobot/extras/tests/integration/test_customfields.py +4 -2
- nautobot/extras/tests/integration/test_dynamicgroups.py +2 -2
- nautobot/extras/tests/integration/test_jobs.py +25 -27
- nautobot/extras/tests/integration/test_notes.py +8 -4
- nautobot/extras/tests/integration/test_plugins.py +4 -4
- nautobot/extras/tests/integration/test_relationships.py +2 -2
- nautobot/extras/tests/test_api.py +371 -381
- nautobot/extras/tests/test_changelog.py +17 -16
- nautobot/extras/tests/test_context_managers.py +5 -6
- nautobot/extras/tests/test_customfields.py +112 -73
- nautobot/extras/tests/test_datasources.py +191 -117
- nautobot/extras/tests/test_dynamicgroups.py +45 -68
- nautobot/extras/tests/test_filters.py +170 -130
- nautobot/extras/tests/test_forms.py +107 -109
- nautobot/extras/tests/{test_scripts.py → test_job_variables.py} +43 -49
- nautobot/extras/tests/test_jobs.py +271 -273
- nautobot/extras/tests/test_management.py +3 -6
- nautobot/extras/tests/test_migrations.py +5 -3
- nautobot/extras/tests/test_models.py +121 -173
- nautobot/extras/tests/test_notes.py +0 -1
- nautobot/extras/tests/test_plugins.py +55 -89
- nautobot/extras/tests/test_relationships.py +174 -130
- nautobot/extras/tests/test_tags.py +6 -12
- nautobot/extras/tests/test_utils.py +31 -1
- nautobot/extras/tests/test_views.py +223 -184
- nautobot/extras/tests/test_webhooks.py +16 -15
- nautobot/extras/urls.py +69 -69
- nautobot/extras/utils.py +137 -163
- nautobot/extras/views.py +81 -153
- nautobot/ipam/api/fields.py +17 -0
- nautobot/ipam/api/serializers.py +77 -164
- nautobot/ipam/api/urls.py +4 -1
- nautobot/ipam/api/views.py +28 -19
- nautobot/ipam/apps.py +1 -0
- nautobot/ipam/choices.py +5 -12
- nautobot/ipam/constants.py +1 -0
- nautobot/ipam/factory.py +41 -30
- nautobot/ipam/filters.py +58 -25
- nautobot/ipam/forms.py +82 -211
- nautobot/ipam/graphql/types.py +0 -9
- nautobot/ipam/lookups.py +13 -8
- nautobot/ipam/management/commands/__init__.py +0 -0
- nautobot/ipam/management/commands/fix_prefix_broadcast.py +17 -0
- nautobot/ipam/migrations/0001_initial_part_1.py +0 -1
- nautobot/ipam/migrations/0002_initial_part_2.py +0 -1
- nautobot/ipam/migrations/0003_remove_max_length.py +0 -1
- nautobot/ipam/migrations/0004_fixup_p2p_broadcast.py +0 -1
- nautobot/ipam/migrations/0005_auto_slug.py +0 -1
- nautobot/ipam/migrations/0006_ipaddress_nat_outside_list.py +0 -1
- nautobot/ipam/migrations/0007_add_natural_indexing.py +0 -1
- nautobot/ipam/migrations/0008_prefix_vlan_vlangroup_location.py +0 -1
- nautobot/ipam/migrations/0009_alter_vlan_name.py +0 -1
- nautobot/ipam/migrations/0010_alter_ipam_role_add_new_role.py +1 -2
- nautobot/ipam/migrations/0011_migrate_ipam_role_data.py +32 -39
- nautobot/ipam/migrations/0012_rename_ipam_roles.py +0 -1
- nautobot/ipam/migrations/0013_delete_role.py +0 -1
- nautobot/ipam/migrations/0014_rename_foreign_keys_and_related_names.py +0 -1
- nautobot/ipam/migrations/0015_prefix_add_type.py +0 -1
- nautobot/ipam/migrations/0016_prefix_type_data_migration.py +0 -3
- nautobot/ipam/migrations/0017_prefix_remove_is_pool.py +0 -1
- nautobot/ipam/migrations/0018_remove_site_foreign_key_from_ipam_models.py +0 -1
- nautobot/ipam/migrations/0019_created_datetime.py +0 -1
- nautobot/ipam/migrations/0020_related_name_changes.py +1 -2
- nautobot/ipam/migrations/0021_prefix_add_rir_and_date_allocated.py +0 -1
- nautobot/ipam/migrations/0022_aggregate_to_prefix_data_migration.py +3 -5
- nautobot/ipam/migrations/0023_delete_aggregate.py +0 -1
- nautobot/ipam/migrations/0024_interface_to_ipaddress_m2m.py +0 -1
- nautobot/ipam/migrations/0025_interface_ipaddress_m2m_data_migration.py +0 -1
- nautobot/ipam/migrations/0026_ipaddress_remove_assigned_object.py +0 -1
- nautobot/ipam/migrations/0027_remove_rir_slug.py +16 -0
- nautobot/ipam/migrations/0028_tagsfield.py +44 -0
- nautobot/ipam/migrations/0029_ip_address_to_interface_uniqueness_constraints.py +18 -0
- nautobot/ipam/migrations/0030_ipam__namespaces.py +231 -0
- nautobot/ipam/migrations/0031_ipam__prefix__add_parent.py +58 -0
- nautobot/ipam/migrations/0032_ipam__namespaces_finish.py +63 -0
- nautobot/ipam/migrations/0033_fixup_null_statuses.py +26 -0
- nautobot/ipam/migrations/0034_status_nonnullable.py +36 -0
- nautobot/ipam/models.py +579 -368
- nautobot/ipam/navigation.py +36 -159
- nautobot/ipam/querysets.py +117 -90
- nautobot/ipam/signals.py +89 -0
- nautobot/ipam/tables.py +86 -28
- nautobot/ipam/templates/ipam/ipaddress.html +14 -30
- nautobot/ipam/templates/ipam/ipaddress_edit.html +1 -0
- nautobot/ipam/templates/ipam/namespace_ipaddresses.html +11 -0
- nautobot/ipam/templates/ipam/namespace_prefixes.html +11 -0
- nautobot/ipam/templates/ipam/namespace_retrieve.html +42 -0
- nautobot/ipam/templates/ipam/namespace_vrfs.html +11 -0
- nautobot/ipam/templates/ipam/prefix.html +27 -33
- nautobot/ipam/templates/ipam/prefix_edit.html +7 -1
- nautobot/ipam/templates/ipam/vlangroup.html +0 -13
- nautobot/ipam/templates/ipam/vrf.html +6 -4
- nautobot/ipam/templates/ipam/vrf_edit.html +20 -2
- nautobot/ipam/tests/integration/test_prefixes.py +4 -27
- nautobot/ipam/tests/test_api.py +60 -61
- nautobot/ipam/tests/test_filters.py +187 -126
- nautobot/ipam/tests/test_forms.py +12 -6
- nautobot/ipam/tests/test_graphql.py +8 -6
- nautobot/ipam/tests/test_migrations.py +8 -13
- nautobot/ipam/tests/test_models.py +426 -274
- nautobot/ipam/tests/test_ordering.py +6 -3
- nautobot/ipam/tests/test_querysets.py +340 -96
- nautobot/ipam/tests/test_views.py +100 -55
- nautobot/ipam/urls.py +28 -5
- nautobot/ipam/{utils.py → utils/__init__.py} +2 -2
- nautobot/ipam/utils/migrations.py +713 -0
- nautobot/ipam/views.py +237 -122
- nautobot/project-static/docs/404.html +1399 -166
- nautobot/project-static/docs/additional-features/caching.html +1416 -320
- nautobot/project-static/docs/additional-features/change-logging.html +1389 -190
- nautobot/project-static/docs/additional-features/config-contexts.html +1389 -190
- nautobot/project-static/docs/additional-features/graphql.html +1389 -190
- nautobot/project-static/docs/additional-features/healthcheck.html +1389 -190
- nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +1393 -190
- nautobot/project-static/docs/additional-features/jobs.html +1677 -460
- nautobot/project-static/docs/additional-features/napalm.html +1389 -190
- nautobot/project-static/docs/additional-features/prometheus-metrics.html +1389 -190
- nautobot/project-static/docs/additional-features/template-filters.html +1389 -190
- nautobot/project-static/docs/administration/celery-queues.html +1389 -190
- nautobot/project-static/docs/administration/nautobot-server.html +1553 -375
- nautobot/project-static/docs/administration/nautobot-shell.html +1395 -196
- nautobot/project-static/docs/administration/permissions.html +1389 -190
- nautobot/project-static/docs/administration/replicating-nautobot.html +1387 -207
- nautobot/project-static/docs/apps/index.html +1389 -190
- nautobot/project-static/docs/apps/nautobot-apps.html +1387 -175
- nautobot/project-static/docs/assets/javascripts/bundle.51198bba.min.js +29 -0
- nautobot/project-static/docs/assets/javascripts/bundle.51198bba.min.js.map +8 -0
- nautobot/project-static/docs/assets/javascripts/workers/{search.16e2a7d4.min.js → search.208ed371.min.js} +9 -15
- nautobot/project-static/docs/assets/javascripts/workers/{search.16e2a7d4.min.js.map → search.208ed371.min.js.map} +4 -4
- nautobot/project-static/docs/assets/stylesheets/main.ded33207.min.css +1 -0
- nautobot/project-static/docs/assets/stylesheets/main.ded33207.min.css.map +1 -0
- nautobot/project-static/docs/assets/stylesheets/palette.a0c5b2b5.min.css +1 -0
- nautobot/project-static/docs/assets/stylesheets/palette.a0c5b2b5.min.css.map +1 -0
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +1775 -590
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +1389 -190
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +3588 -1922
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +1461 -262
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +1401 -170
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +1396 -191
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +2095 -894
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +2357 -1194
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +2258 -940
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +1389 -190
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +1400 -201
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +11068 -7861
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +2867 -2224
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +1389 -190
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +2641 -1573
- nautobot/project-static/docs/configuration/authentication/ldap.html +1389 -190
- nautobot/project-static/docs/configuration/authentication/remote.html +1389 -190
- nautobot/project-static/docs/configuration/authentication/sso.html +1389 -190
- nautobot/project-static/docs/configuration/index.html +1398 -199
- nautobot/project-static/docs/configuration/optional-settings.html +1418 -274
- nautobot/project-static/docs/configuration/required-settings.html +1419 -287
- nautobot/project-static/docs/core-functionality/circuits.html +1446 -247
- nautobot/project-static/docs/core-functionality/device-types.html +1448 -249
- nautobot/project-static/docs/core-functionality/devices.html +1452 -249
- nautobot/project-static/docs/core-functionality/ipam.html +1452 -253
- nautobot/project-static/docs/core-functionality/power.html +1448 -249
- nautobot/project-static/docs/core-functionality/secrets.html +1448 -249
- nautobot/project-static/docs/core-functionality/services.html +1448 -249
- nautobot/project-static/docs/core-functionality/sites-and-racks.html +1448 -249
- nautobot/project-static/docs/core-functionality/tenancy.html +1448 -249
- nautobot/project-static/docs/core-functionality/virtualization.html +1452 -249
- nautobot/project-static/docs/core-functionality/vlans.html +1448 -249
- nautobot/project-static/docs/development/application-registry.html +1393 -214
- nautobot/project-static/docs/development/best-practices.html +1392 -192
- nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +1390 -191
- nautobot/project-static/docs/development/extending-models.html +1443 -257
- nautobot/project-static/docs/development/generic-views.html +1403 -174
- nautobot/project-static/docs/development/getting-started.html +1568 -262
- nautobot/project-static/docs/development/homepage.html +1389 -190
- nautobot/project-static/docs/development/index.html +1389 -190
- nautobot/project-static/docs/development/model-features.html +1389 -190
- nautobot/project-static/docs/development/natural-keys.html +1389 -190
- nautobot/project-static/docs/development/navigation-menu.html +1451 -330
- nautobot/project-static/docs/development/react-ui.html +4199 -0
- nautobot/project-static/docs/development/release-checklist.html +1392 -193
- nautobot/project-static/docs/development/role-internals.html +1402 -172
- nautobot/project-static/docs/development/style-guide.html +1399 -199
- nautobot/project-static/docs/development/templates.html +1391 -191
- nautobot/project-static/docs/development/testing.html +1389 -190
- nautobot/project-static/docs/development/user-preferences.html +1389 -190
- nautobot/project-static/docs/docker/index.html +1408 -206
- nautobot/project-static/docs/index.html +1397 -180
- nautobot/project-static/docs/installation/centos.html +1401 -170
- nautobot/project-static/docs/installation/external-authentication.html +1389 -190
- nautobot/project-static/docs/installation/http-server.html +1389 -190
- nautobot/project-static/docs/installation/index.html +1394 -191
- nautobot/project-static/docs/installation/migrating-from-netbox.html +1452 -305
- nautobot/project-static/docs/installation/migrating-from-postgresql.html +1390 -191
- nautobot/project-static/docs/installation/nautobot.html +1390 -191
- nautobot/project-static/docs/installation/region-and-site-data-migration-guide.html +1389 -190
- nautobot/project-static/docs/installation/selinux-troubleshooting.html +1401 -170
- nautobot/project-static/docs/installation/services.html +1389 -190
- nautobot/project-static/docs/installation/tables/v2-api-behavior-changes.yaml +70 -0
- nautobot/project-static/docs/installation/tables/v2-api-removed-fields.yaml +142 -0
- nautobot/project-static/docs/installation/tables/v2-api-renamed-fields.yaml +124 -0
- nautobot/project-static/docs/installation/tables/v2-code-location-changes.yaml +241 -0
- nautobot/project-static/docs/installation/tables/v2-code-removals.yaml +67 -0
- nautobot/project-static/docs/installation/tables/v2-database-behavior-changes.yaml +37 -0
- nautobot/project-static/docs/installation/tables/v2-database-removed-fields.yaml +166 -0
- nautobot/project-static/docs/installation/tables/v2-database-renamed-fields.yaml +340 -0
- nautobot/project-static/docs/installation/tables/v2-filters-corrected-fields.yaml +28 -0
- nautobot/project-static/docs/installation/tables/v2-filters-enhanced-fields.yaml +241 -0
- nautobot/project-static/docs/installation/tables/v2-filters-removed-fields.yaml +553 -0
- nautobot/project-static/docs/installation/tables/v2-filters-renamed-fields.yaml +223 -0
- nautobot/project-static/docs/installation/tables/v2-logging-renamed-loggers.yaml +23 -0
- nautobot/project-static/docs/installation/ubuntu.html +1401 -170
- nautobot/project-static/docs/installation/upgrading-from-nautobot-v1.html +4254 -1923
- nautobot/project-static/docs/installation/upgrading.html +1395 -192
- nautobot/project-static/docs/models/circuits/circuit.html +1427 -174
- nautobot/project-static/docs/models/circuits/circuittermination.html +1427 -174
- nautobot/project-static/docs/models/circuits/circuittype.html +1427 -174
- nautobot/project-static/docs/models/circuits/provider.html +1427 -174
- nautobot/project-static/docs/models/circuits/providernetwork.html +1427 -174
- nautobot/project-static/docs/models/dcim/cable.html +1458 -174
- nautobot/project-static/docs/models/dcim/consoleport.html +1427 -174
- nautobot/project-static/docs/models/dcim/consoleporttemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/consoleserverport.html +1427 -174
- nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/device.html +1431 -174
- nautobot/project-static/docs/models/dcim/devicebay.html +1427 -174
- nautobot/project-static/docs/models/dcim/devicebaytemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +1522 -177
- nautobot/project-static/docs/models/dcim/devicetype.html +1427 -174
- nautobot/project-static/docs/models/dcim/frontport.html +1427 -174
- nautobot/project-static/docs/models/dcim/frontporttemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/interface.html +1427 -174
- nautobot/project-static/docs/models/dcim/interfacetemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/inventoryitem.html +1427 -174
- nautobot/project-static/docs/models/dcim/location.html +1427 -174
- nautobot/project-static/docs/models/dcim/locationtype.html +1427 -174
- nautobot/project-static/docs/models/dcim/manufacturer.html +1427 -174
- nautobot/project-static/docs/models/dcim/platform.html +1427 -174
- nautobot/project-static/docs/models/dcim/powerfeed.html +1425 -172
- nautobot/project-static/docs/models/dcim/poweroutlet.html +1427 -174
- nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/powerpanel.html +1425 -172
- nautobot/project-static/docs/models/dcim/powerport.html +1427 -174
- nautobot/project-static/docs/models/dcim/powerporttemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/rack.html +1427 -174
- nautobot/project-static/docs/models/dcim/rackgroup.html +1427 -174
- nautobot/project-static/docs/models/dcim/rackreservation.html +1427 -174
- nautobot/project-static/docs/models/dcim/rearport.html +1427 -174
- nautobot/project-static/docs/models/dcim/rearporttemplate.html +1427 -174
- nautobot/project-static/docs/models/dcim/region.html +1401 -170
- nautobot/project-static/docs/models/dcim/site.html +1401 -170
- nautobot/project-static/docs/models/dcim/virtualchassis.html +1425 -172
- nautobot/project-static/docs/models/extras/computedfield.html +1393 -194
- nautobot/project-static/docs/models/extras/configcontext.html +1465 -174
- nautobot/project-static/docs/models/extras/configcontextschema.html +1421 -168
- nautobot/project-static/docs/models/extras/customfield.html +1389 -190
- nautobot/project-static/docs/models/extras/customlink.html +1389 -190
- nautobot/project-static/docs/models/extras/dynamicgroup.html +1398 -199
- nautobot/project-static/docs/models/extras/exporttemplate.html +1389 -190
- nautobot/project-static/docs/models/extras/gitrepository.html +1393 -190
- nautobot/project-static/docs/models/extras/graphqlquery.html +1469 -171
- nautobot/project-static/docs/models/extras/imageattachment.html +1434 -181
- nautobot/project-static/docs/models/extras/job.html +1411 -157
- nautobot/project-static/docs/models/extras/jobbutton.html +1410 -207
- nautobot/project-static/docs/models/extras/jobhook.html +1397 -194
- nautobot/project-static/docs/models/extras/joblogentry.html +1408 -155
- nautobot/project-static/docs/models/extras/jobresult.html +1417 -159
- nautobot/project-static/docs/models/extras/note.html +1389 -190
- nautobot/project-static/docs/models/extras/relationship.html +1391 -192
- nautobot/project-static/docs/models/extras/role.html +1495 -198
- nautobot/project-static/docs/models/extras/secret.html +1492 -201
- nautobot/project-static/docs/models/extras/secretsgroup.html +1410 -157
- nautobot/project-static/docs/models/extras/status.html +1381 -221
- nautobot/project-static/docs/models/extras/tag.html +1389 -190
- nautobot/project-static/docs/models/extras/webhook.html +1389 -190
- nautobot/project-static/docs/models/ipam/ipaddress.html +1488 -200
- nautobot/project-static/docs/models/ipam/prefix.html +1410 -157
- nautobot/project-static/docs/models/ipam/rir.html +1410 -157
- nautobot/project-static/docs/models/ipam/routetarget.html +1410 -157
- nautobot/project-static/docs/models/ipam/service.html +1410 -157
- nautobot/project-static/docs/models/ipam/vlan.html +1410 -157
- nautobot/project-static/docs/models/ipam/vlangroup.html +1410 -157
- nautobot/project-static/docs/models/ipam/vrf.html +1410 -161
- nautobot/project-static/docs/models/tenancy/tenant.html +1412 -159
- nautobot/project-static/docs/models/tenancy/tenantgroup.html +1412 -159
- nautobot/project-static/docs/models/users/objectpermission.html +1462 -171
- nautobot/project-static/docs/models/users/token.html +1410 -157
- nautobot/project-static/docs/models/virtualization/cluster.html +1410 -157
- nautobot/project-static/docs/models/virtualization/clustergroup.html +1410 -157
- nautobot/project-static/docs/models/virtualization/clustertype.html +1410 -157
- nautobot/project-static/docs/models/virtualization/virtualmachine.html +1414 -157
- nautobot/project-static/docs/models/virtualization/vminterface.html +1410 -157
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/plugins/development.html +1916 -646
- nautobot/project-static/docs/plugins/index.html +1389 -190
- nautobot/project-static/docs/plugins/porting-from-netbox.html +1389 -190
- nautobot/project-static/docs/release-notes/index.html +1389 -190
- nautobot/project-static/docs/release-notes/version-1.0.html +1389 -190
- nautobot/project-static/docs/release-notes/version-1.1.html +1389 -190
- nautobot/project-static/docs/release-notes/version-1.2.html +1389 -190
- nautobot/project-static/docs/release-notes/version-1.3.html +1389 -190
- nautobot/project-static/docs/release-notes/version-1.4.html +1389 -190
- nautobot/project-static/docs/release-notes/version-1.5.html +2016 -397
- nautobot/project-static/docs/release-notes/version-2.0.html +1935 -287
- nautobot/project-static/docs/requirements.txt +5 -4
- nautobot/project-static/docs/rest-api/authentication.html +1389 -190
- nautobot/project-static/docs/rest-api/filtering.html +1389 -190
- nautobot/project-static/docs/rest-api/overview.html +2002 -576
- nautobot/project-static/docs/rest-api/ui-related-endpoints.html +4057 -0
- nautobot/project-static/docs/search/search_index.json +1 -1
- nautobot/project-static/docs/sitemap.xml +197 -187
- nautobot/project-static/docs/sitemap.xml.gz +0 -0
- nautobot/project-static/docs/user-guides/custom-fields.html +1390 -191
- nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +1392 -193
- nautobot/project-static/docs/user-guides/getting-started/index.html +1388 -189
- nautobot/project-static/docs/user-guides/getting-started/interfaces.html +1388 -189
- nautobot/project-static/docs/user-guides/getting-started/ipam.html +1386 -187
- nautobot/project-static/docs/user-guides/getting-started/platforms.html +1448 -249
- nautobot/project-static/docs/user-guides/getting-started/regions.html +1411 -212
- nautobot/project-static/docs/user-guides/getting-started/search-bar.html +1395 -196
- nautobot/project-static/docs/user-guides/getting-started/tenants.html +1448 -249
- nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +1448 -249
- nautobot/project-static/docs/user-guides/git-data-source.html +1405 -206
- nautobot/project-static/docs/user-guides/graphql.html +1402 -203
- nautobot/project-static/docs/user-guides/relationships.html +1448 -249
- nautobot/project-static/docs/user-guides/s3-django-storage.html +1448 -249
- nautobot/project-static/js/forms.js +16 -9
- nautobot/project-static/js/theme.js +5 -0
- nautobot/tenancy/api/serializers.py +4 -34
- nautobot/tenancy/api/urls.py +1 -1
- nautobot/tenancy/filters/__init__.py +9 -7
- nautobot/tenancy/filters/mixins.py +3 -2
- nautobot/tenancy/forms.py +3 -36
- nautobot/tenancy/migrations/0001_initial.py +0 -1
- nautobot/tenancy/migrations/0002_auto_slug.py +0 -1
- nautobot/tenancy/migrations/0003_mptt_to_tree_queries.py +0 -1
- nautobot/tenancy/migrations/0004_change_tree_manager_on_tree_models.py +0 -1
- nautobot/tenancy/migrations/0005_rename_foreign_keys_and_related_names.py +0 -1
- nautobot/tenancy/migrations/0006_created_datetime.py +0 -1
- nautobot/tenancy/migrations/0007_remove_tenant_tenantgroup_slug.py +20 -0
- nautobot/tenancy/migrations/0008_tagsfield.py +19 -0
- nautobot/tenancy/models.py +0 -30
- nautobot/tenancy/navigation.py +6 -39
- nautobot/tenancy/tables.py +4 -4
- nautobot/tenancy/templates/tenancy/tenant.html +12 -12
- nautobot/tenancy/templates/tenancy/tenant_edit.html +0 -1
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/tests/test_api.py +1 -12
- nautobot/tenancy/tests/test_filters.py +20 -12
- nautobot/tenancy/tests/test_views.py +11 -29
- nautobot/tenancy/urls.py +10 -10
- nautobot/tenancy/views.py +0 -3
- nautobot/ui/.eslintignore +6 -0
- nautobot/ui/.gitignore +10 -0
- nautobot/ui/.prettierignore +9 -0
- nautobot/ui/.prettierrc +4 -0
- nautobot/ui/README.md +33 -0
- nautobot/ui/app_imports.js.j2 +7 -0
- nautobot/ui/craco.config.js +46 -0
- nautobot/ui/jsconfig-base.json +11 -0
- nautobot/ui/jsconfig.json +5 -0
- nautobot/ui/lib/nautobot-craco-alias-plugin.js +40 -0
- nautobot/ui/package-lock.json +21451 -0
- nautobot/ui/package.json +70 -0
- nautobot/ui/public/index.html +47 -0
- nautobot/ui/public/logo192.png +0 -0
- nautobot/ui/public/logo512.png +0 -0
- nautobot/ui/public/manifest.json +25 -0
- nautobot/ui/public/nautobot_logo.svg +131 -0
- nautobot/ui/public/robots.txt +3 -0
- nautobot/ui/src/App.js +71 -0
- nautobot/ui/src/components/AppFullWidthComponents.js +8 -0
- nautobot/ui/src/components/AppTab.js +40 -0
- nautobot/ui/src/components/Apps.js +60 -0
- nautobot/ui/src/components/HomeChangelogPanel.js +98 -0
- nautobot/ui/src/components/HomePanel.js +58 -0
- nautobot/ui/src/components/JobHistoryTable.js +78 -0
- nautobot/ui/src/components/Layout.js +53 -0
- nautobot/ui/src/components/LoadingWidget.js +25 -0
- nautobot/ui/src/components/Navbar.js +116 -0
- nautobot/ui/src/components/NotificationPopover.js +27 -0
- nautobot/ui/src/components/ObjectListTable.js +209 -0
- nautobot/ui/src/components/ReferenceDataTag.js +35 -0
- nautobot/ui/src/components/RouterButton.js +10 -0
- nautobot/ui/src/components/RouterLink.js +10 -0
- nautobot/ui/src/components/SidebarNav.js +147 -0
- nautobot/ui/src/components/Table.js +48 -0
- nautobot/ui/src/components/TableItem.js +71 -0
- nautobot/ui/src/components/__tests__/AppFullWidthComponents.test.js +16 -0
- nautobot/ui/src/components/__tests__/AppTab.test.js +21 -0
- nautobot/ui/src/components/__tests__/Apps.test.js +14 -0
- nautobot/ui/src/components/__tests__/Layout.test.js +33 -0
- nautobot/ui/src/components/__tests__/Table.test.js +36 -0
- nautobot/ui/src/components/__tests__/TableItem.test.js +37 -0
- nautobot/ui/src/components/__tests__/paginator.test.js +43 -0
- nautobot/ui/src/components/__tests__/paginator_form.test.js +13 -0
- nautobot/ui/src/components/pagination.js +93 -0
- nautobot/ui/src/components/paginator.js +79 -0
- nautobot/ui/src/components/paginator_form.js +43 -0
- nautobot/ui/src/components/usePagination.js +57 -0
- nautobot/ui/src/constants/apiPath.js +10 -0
- nautobot/ui/src/constants/icons.js +15 -0
- nautobot/ui/src/constants/size.js +15 -0
- nautobot/ui/src/index.js +65 -0
- nautobot/ui/src/reportWebVitals.js +15 -0
- nautobot/ui/src/router.js +77 -0
- nautobot/ui/src/utils/api.js +131 -0
- nautobot/ui/src/utils/app-import.js +15 -0
- nautobot/ui/src/utils/color.js +15 -0
- nautobot/ui/src/utils/date.js +14 -0
- nautobot/ui/src/utils/index.js +15 -0
- nautobot/ui/src/utils/navigation.js +32 -0
- nautobot/ui/src/utils/session.js +64 -0
- nautobot/ui/src/utils/store.js +242 -0
- nautobot/ui/src/utils/string.js +6 -0
- nautobot/ui/src/utils/url.js +4 -0
- nautobot/ui/src/views/Home.js +138 -0
- nautobot/ui/src/views/InstalledApps.js +80 -0
- nautobot/ui/src/views/Login.js +48 -0
- nautobot/ui/src/views/Logout.js +20 -0
- nautobot/ui/src/views/__tests__/BSCreateViewTemplate.test.js +11 -0
- nautobot/ui/src/views/__tests__/BSListViewTemplate.test.js +107 -0
- nautobot/ui/src/views/__tests__/Login.test.js +15 -0
- nautobot/ui/src/views/generic/GenericView.js +142 -0
- nautobot/ui/src/views/generic/ObjectCreate.js +96 -0
- nautobot/ui/src/views/generic/ObjectList.js +127 -0
- nautobot/ui/src/views/generic/ObjectRetrieve.js +551 -0
- nautobot/users/admin.py +1 -1
- nautobot/users/api/serializers.py +51 -61
- nautobot/users/api/urls.py +1 -1
- nautobot/users/api/views.py +53 -2
- nautobot/users/migrations/0001_initial.py +0 -1
- nautobot/users/migrations/0002_token_ordering_by_created.py +0 -1
- nautobot/users/migrations/0003_alter_user_options.py +0 -1
- nautobot/users/migrations/0004_alter_user_managers.py +0 -1
- nautobot/users/tests/test_api.py +109 -28
- nautobot/users/tests/test_filters.py +0 -4
- nautobot/users/tests/test_models.py +0 -1
- nautobot/users/views.py +0 -7
- nautobot/virtualization/api/serializers.py +18 -132
- nautobot/virtualization/api/urls.py +1 -1
- nautobot/virtualization/api/views.py +1 -22
- nautobot/virtualization/choices.py +0 -2
- nautobot/virtualization/filters.py +12 -7
- nautobot/virtualization/forms.py +21 -117
- nautobot/virtualization/migrations/0001_initial.py +0 -1
- nautobot/virtualization/migrations/0002_virtualmachine_local_context_schema.py +0 -1
- nautobot/virtualization/migrations/0003_vminterface_verbose_name.py +0 -1
- nautobot/virtualization/migrations/0004_auto_slug.py +0 -1
- nautobot/virtualization/migrations/0005_add_natural_indexing.py +0 -1
- nautobot/virtualization/migrations/0006_vminterface_status.py +0 -1
- nautobot/virtualization/migrations/0007_vminterface_status_data_migration.py +0 -1
- nautobot/virtualization/migrations/0008_vminterface_parent.py +0 -1
- nautobot/virtualization/migrations/0009_cluster_location.py +0 -1
- nautobot/virtualization/migrations/0010_vminterface_mac_address_data_migration.py +0 -1
- nautobot/virtualization/migrations/0011_alter_vminterface_mac_address.py +0 -1
- nautobot/virtualization/migrations/0012_alter_virtualmachine_role_add_new_role.py +1 -2
- nautobot/virtualization/migrations/0013_migrate_virtualmachine_role_data.py +18 -12
- nautobot/virtualization/migrations/0014_rename_virtualmachine_roles.py +0 -1
- nautobot/virtualization/migrations/0015_rename_foreignkey_fields.py +1 -2
- nautobot/virtualization/migrations/0016_remove_site_foreign_key_from_cluster_class.py +0 -1
- nautobot/virtualization/migrations/0017_created_datetime.py +0 -1
- nautobot/virtualization/migrations/0018_related_name_changes.py +1 -2
- nautobot/virtualization/migrations/0019_vminterface_ip_addresses_m2m.py +0 -1
- nautobot/virtualization/migrations/0020_remove_clustergroup_clustertype_slug.py +20 -0
- nautobot/virtualization/migrations/0021_tagsfield_and_vminterface_to_primarymodel.py +39 -0
- nautobot/virtualization/migrations/0022_vminterface_timestamps_data_migration.py +17 -0
- nautobot/virtualization/migrations/0023_ipam__namespaces.py +25 -0
- nautobot/virtualization/migrations/0024_fixup_null_statuses.py +25 -0
- nautobot/virtualization/migrations/0025_status_nonnullable.py +29 -0
- nautobot/virtualization/models.py +39 -131
- nautobot/virtualization/navigation.py +18 -99
- nautobot/virtualization/tables.py +4 -4
- nautobot/virtualization/templates/virtualization/virtualmachine.html +13 -2
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +6 -0
- nautobot/virtualization/tests/test_api.py +42 -52
- nautobot/virtualization/tests/test_filters.py +98 -75
- nautobot/virtualization/tests/test_models.py +36 -13
- nautobot/virtualization/tests/test_views.py +68 -73
- nautobot/virtualization/urls.py +10 -10
- nautobot/virtualization/views.py +8 -14
- {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/METADATA +15 -22
- {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/RECORD +987 -834
- {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/WHEEL +1 -1
- nautobot/circuits/api/nested_serializers.py +0 -69
- nautobot/core/templates/plugin_template/navigation.py-tpl +0 -22
- nautobot/dcim/api/nested_serializers.py +0 -356
- nautobot/dcim/templates/dcim/device_import.html +0 -5
- nautobot/dcim/templates/dcim/device_import_child.html +0 -5
- nautobot/dcim/templates/dcim/inc/device_import_header.html +0 -4
- nautobot/extras/api/nested_serializers.py +0 -353
- nautobot/extras/migrations/0064_configcontext_data_migrations.py +0 -42
- nautobot/extras/migrations/0071_job__unique_name_data_migration.py +0 -47
- nautobot/extras/reports.py +0 -60
- nautobot/extras/scripts.py +0 -72
- nautobot/extras/tests/example_jobs/script_variables.py +0 -67
- nautobot/extras/tests/example_jobs/test_duplicate_name2.py +0 -5
- nautobot/extras/tests/example_jobs/test_fail.py +0 -16
- nautobot/extras/tests/example_jobs/test_file_upload_pass.py +0 -20
- nautobot/extras/tests/example_jobs/test_ipaddress_vars.py +0 -52
- nautobot/extras/tests/example_jobs/test_job_button_receiver.py +0 -21
- nautobot/extras/tests/example_jobs/test_job_hook_receiver.py +0 -20
- nautobot/extras/tests/example_jobs/test_location_with_custom_field.py +0 -35
- nautobot/extras/tests/example_jobs/test_log_redaction.py +0 -14
- nautobot/extras/tests/example_jobs/test_modify_db.py +0 -19
- nautobot/extras/tests/example_jobs/test_object_var_optional.py +0 -14
- nautobot/extras/tests/example_jobs/test_object_var_required.py +0 -14
- nautobot/extras/tests/example_jobs/test_object_vars.py +0 -29
- nautobot/extras/tests/example_jobs/test_pass.py +0 -19
- nautobot/extras/tests/example_jobs/test_read_only_fail.py +0 -24
- nautobot/extras/tests/example_jobs/test_read_only_no_commit_field.py +0 -10
- nautobot/extras/tests/example_jobs/test_read_only_pass.py +0 -22
- nautobot/ipam/api/nested_serializers.py +0 -143
- nautobot/project-static/docs/assets/javascripts/bundle.5a2dcb6a.min.js +0 -29
- nautobot/project-static/docs/assets/javascripts/bundle.5a2dcb6a.min.js.map +0 -8
- nautobot/project-static/docs/assets/javascripts/extra/bundle.5f09fbc3.min.js +0 -18
- nautobot/project-static/docs/assets/javascripts/extra/bundle.5f09fbc3.min.js.map +0 -8
- nautobot/project-static/docs/assets/stylesheets/extra.0d2c79a8.min.css +0 -1
- nautobot/project-static/docs/assets/stylesheets/extra.0d2c79a8.min.css.map +0 -1
- nautobot/project-static/docs/assets/stylesheets/main.975780f9.min.css +0 -1
- nautobot/project-static/docs/assets/stylesheets/main.975780f9.min.css.map +0 -1
- nautobot/project-static/docs/assets/stylesheets/palette.2505c338.min.css +0 -1
- nautobot/project-static/docs/assets/stylesheets/palette.2505c338.min.css.map +0 -1
- nautobot/tenancy/api/nested_serializers.py +0 -31
- nautobot/users/api/nested_serializers.py +0 -67
- nautobot/virtualization/api/nested_serializers.py +0 -65
- /nautobot/extras/{tests/example_jobs → test_jobs}/__init__.py +0 -0
- /nautobot/{dcim/models/sites.py → ipam/management/__init__.py} +0 -0
- {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.0.0a2.dist-info → nautobot-2.0.0b1.dist-info}/entry_points.txt +0 -0
|
@@ -10,8 +10,14 @@
|
|
|
10
10
|
|
|
11
11
|
<link rel="canonical" href="https://docs.nautobot.com/projects/core/en/stable/additional-features/caching.html">
|
|
12
12
|
|
|
13
|
+
|
|
14
|
+
<link rel="prev" href="../models/virtualization/vminterface.html">
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<link rel="next" href="change-logging.html">
|
|
18
|
+
|
|
13
19
|
<link rel="icon" href="../assets/favicon.ico">
|
|
14
|
-
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-
|
|
20
|
+
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.6">
|
|
15
21
|
|
|
16
22
|
|
|
17
23
|
|
|
@@ -19,11 +25,10 @@
|
|
|
19
25
|
|
|
20
26
|
|
|
21
27
|
|
|
22
|
-
<link rel="stylesheet" href="../assets/stylesheets/main.
|
|
28
|
+
<link rel="stylesheet" href="../assets/stylesheets/main.ded33207.min.css">
|
|
23
29
|
|
|
24
30
|
|
|
25
|
-
<link rel="stylesheet" href="../assets/stylesheets/palette.
|
|
26
|
-
|
|
31
|
+
<link rel="stylesheet" href="../assets/stylesheets/palette.a0c5b2b5.min.css">
|
|
27
32
|
|
|
28
33
|
|
|
29
34
|
|
|
@@ -86,7 +91,7 @@
|
|
|
86
91
|
|
|
87
92
|
|
|
88
93
|
|
|
89
|
-
<header class="md-header md-header--lifted" data-md-component="header">
|
|
94
|
+
<header class="md-header md-header--shadow md-header--lifted" data-md-component="header">
|
|
90
95
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
91
96
|
<a href="../index.html" title="Nautobot Documentation" class="md-header__button md-logo" aria-label="Nautobot Documentation" data-md-component="logo">
|
|
92
97
|
|
|
@@ -116,8 +121,6 @@
|
|
|
116
121
|
<form class="md-header__option" data-md-component="palette">
|
|
117
122
|
|
|
118
123
|
|
|
119
|
-
|
|
120
|
-
|
|
121
124
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="black" data-md-color-accent="" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
|
|
122
125
|
|
|
123
126
|
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
|
|
@@ -126,8 +129,6 @@
|
|
|
126
129
|
|
|
127
130
|
|
|
128
131
|
|
|
129
|
-
|
|
130
|
-
|
|
131
132
|
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="black" data-md-color-accent="" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
|
|
132
133
|
|
|
133
134
|
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
|
|
@@ -171,7 +172,7 @@
|
|
|
171
172
|
<div class="md-search-result__meta">
|
|
172
173
|
Initializing search
|
|
173
174
|
</div>
|
|
174
|
-
<ol class="md-search-result__list"></ol>
|
|
175
|
+
<ol class="md-search-result__list" role="presentation"></ol>
|
|
175
176
|
</div>
|
|
176
177
|
</div>
|
|
177
178
|
</div>
|
|
@@ -183,7 +184,7 @@
|
|
|
183
184
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
184
185
|
<div class="md-source__icon md-icon">
|
|
185
186
|
|
|
186
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.
|
|
187
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
187
188
|
</div>
|
|
188
189
|
<div class="md-source__repository">
|
|
189
190
|
GitHub
|
|
@@ -196,7 +197,7 @@
|
|
|
196
197
|
|
|
197
198
|
|
|
198
199
|
<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
|
|
199
|
-
<div class="md-
|
|
200
|
+
<div class="md-grid">
|
|
200
201
|
<ul class="md-tabs__list">
|
|
201
202
|
|
|
202
203
|
|
|
@@ -351,7 +352,7 @@
|
|
|
351
352
|
<a href="https://github.com/nautobot/nautobot" title="Go to repository" class="md-source" data-md-component="source">
|
|
352
353
|
<div class="md-source__icon md-icon">
|
|
353
354
|
|
|
354
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.
|
|
355
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
|
|
355
356
|
</div>
|
|
356
357
|
<div class="md-source__repository">
|
|
357
358
|
GitHub
|
|
@@ -389,17 +390,18 @@
|
|
|
389
390
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
390
391
|
|
|
391
392
|
|
|
392
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" checked>
|
|
393
393
|
|
|
394
394
|
|
|
395
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" checked>
|
|
396
|
+
|
|
395
397
|
|
|
396
398
|
|
|
397
|
-
<label class="md-nav__link" for="__nav_2">
|
|
399
|
+
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
398
400
|
Documentation
|
|
399
401
|
<span class="md-nav__icon md-icon"></span>
|
|
400
402
|
</label>
|
|
401
403
|
|
|
402
|
-
<nav class="md-nav" aria-
|
|
404
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="true">
|
|
403
405
|
<label class="md-nav__title" for="__nav_2">
|
|
404
406
|
<span class="md-nav__icon md-icon"></span>
|
|
405
407
|
Documentation
|
|
@@ -415,17 +417,18 @@
|
|
|
415
417
|
<li class="md-nav__item md-nav__item--nested">
|
|
416
418
|
|
|
417
419
|
|
|
418
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_1" type="checkbox" id="__nav_2_1" >
|
|
419
420
|
|
|
420
421
|
|
|
422
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" >
|
|
421
423
|
|
|
422
424
|
|
|
423
|
-
|
|
425
|
+
|
|
426
|
+
<label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
|
|
424
427
|
Installation
|
|
425
428
|
<span class="md-nav__icon md-icon"></span>
|
|
426
429
|
</label>
|
|
427
430
|
|
|
428
|
-
<nav class="md-nav" aria-
|
|
431
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
|
|
429
432
|
<label class="md-nav__title" for="__nav_2_1">
|
|
430
433
|
<span class="md-nav__icon md-icon"></span>
|
|
431
434
|
Installation
|
|
@@ -532,17 +535,18 @@
|
|
|
532
535
|
<li class="md-nav__item md-nav__item--nested">
|
|
533
536
|
|
|
534
537
|
|
|
535
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_2" type="checkbox" id="__nav_2_2" >
|
|
536
538
|
|
|
537
539
|
|
|
540
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
|
|
541
|
+
|
|
538
542
|
|
|
539
543
|
|
|
540
|
-
<label class="md-nav__link" for="__nav_2_2">
|
|
544
|
+
<label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
|
|
541
545
|
Migration
|
|
542
546
|
<span class="md-nav__icon md-icon"></span>
|
|
543
547
|
</label>
|
|
544
548
|
|
|
545
|
-
<nav class="md-nav" aria-
|
|
549
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
|
|
546
550
|
<label class="md-nav__title" for="__nav_2_2">
|
|
547
551
|
<span class="md-nav__icon md-icon"></span>
|
|
548
552
|
Migration
|
|
@@ -635,17 +639,18 @@
|
|
|
635
639
|
<li class="md-nav__item md-nav__item--nested">
|
|
636
640
|
|
|
637
641
|
|
|
638
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_3" type="checkbox" id="__nav_2_3" >
|
|
639
642
|
|
|
640
643
|
|
|
644
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" >
|
|
641
645
|
|
|
642
646
|
|
|
643
|
-
|
|
647
|
+
|
|
648
|
+
<label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
|
|
644
649
|
Configuration
|
|
645
650
|
<span class="md-nav__icon md-icon"></span>
|
|
646
651
|
</label>
|
|
647
652
|
|
|
648
|
-
<nav class="md-nav" aria-
|
|
653
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
|
|
649
654
|
<label class="md-nav__title" for="__nav_2_3">
|
|
650
655
|
<span class="md-nav__icon md-icon"></span>
|
|
651
656
|
Configuration
|
|
@@ -710,17 +715,18 @@
|
|
|
710
715
|
<li class="md-nav__item md-nav__item--nested">
|
|
711
716
|
|
|
712
717
|
|
|
713
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_4" type="checkbox" id="__nav_2_4" >
|
|
714
718
|
|
|
715
719
|
|
|
720
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
|
|
721
|
+
|
|
716
722
|
|
|
717
723
|
|
|
718
|
-
<label class="md-nav__link" for="__nav_2_4">
|
|
724
|
+
<label class="md-nav__link" for="__nav_2_4" id="__nav_2_4_label" tabindex="0">
|
|
719
725
|
External Authentication
|
|
720
726
|
<span class="md-nav__icon md-icon"></span>
|
|
721
727
|
</label>
|
|
722
728
|
|
|
723
|
-
<nav class="md-nav"
|
|
729
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
|
|
724
730
|
<label class="md-nav__title" for="__nav_2_4">
|
|
725
731
|
<span class="md-nav__icon md-icon"></span>
|
|
726
732
|
External Authentication
|
|
@@ -785,17 +791,18 @@
|
|
|
785
791
|
<li class="md-nav__item md-nav__item--nested">
|
|
786
792
|
|
|
787
793
|
|
|
788
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
|
|
789
794
|
|
|
790
795
|
|
|
796
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
|
|
791
797
|
|
|
792
798
|
|
|
793
|
-
|
|
799
|
+
|
|
800
|
+
<label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
|
|
794
801
|
Administration
|
|
795
802
|
<span class="md-nav__icon md-icon"></span>
|
|
796
803
|
</label>
|
|
797
804
|
|
|
798
|
-
<nav class="md-nav" aria-
|
|
805
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
|
|
799
806
|
<label class="md-nav__title" for="__nav_2_5">
|
|
800
807
|
<span class="md-nav__icon md-icon"></span>
|
|
801
808
|
Administration
|
|
@@ -888,17 +895,18 @@
|
|
|
888
895
|
<li class="md-nav__item md-nav__item--nested">
|
|
889
896
|
|
|
890
897
|
|
|
891
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_6" type="checkbox" id="__nav_2_6" >
|
|
892
898
|
|
|
893
899
|
|
|
900
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6" >
|
|
901
|
+
|
|
894
902
|
|
|
895
903
|
|
|
896
|
-
<label class="md-nav__link" for="__nav_2_6">
|
|
904
|
+
<label class="md-nav__link" for="__nav_2_6" id="__nav_2_6_label" tabindex="0">
|
|
897
905
|
User Guides
|
|
898
906
|
<span class="md-nav__icon md-icon"></span>
|
|
899
907
|
</label>
|
|
900
908
|
|
|
901
|
-
<nav class="md-nav"
|
|
909
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false">
|
|
902
910
|
<label class="md-nav__title" for="__nav_2_6">
|
|
903
911
|
<span class="md-nav__icon md-icon"></span>
|
|
904
912
|
User Guides
|
|
@@ -1023,8 +1031,1115 @@
|
|
|
1023
1031
|
|
|
1024
1032
|
|
|
1025
1033
|
<li class="md-nav__item">
|
|
1026
|
-
<a href="../user-guides/getting-started/regions.html" class="md-nav__link">
|
|
1027
|
-
Regions
|
|
1034
|
+
<a href="../user-guides/getting-started/regions.html" class="md-nav__link">
|
|
1035
|
+
Regions
|
|
1036
|
+
</a>
|
|
1037
|
+
</li>
|
|
1038
|
+
|
|
1039
|
+
|
|
1040
|
+
|
|
1041
|
+
|
|
1042
|
+
|
|
1043
|
+
|
|
1044
|
+
|
|
1045
|
+
|
|
1046
|
+
|
|
1047
|
+
<li class="md-nav__item">
|
|
1048
|
+
<a href="../user-guides/getting-started/tenants.html" class="md-nav__link">
|
|
1049
|
+
Tenants
|
|
1050
|
+
</a>
|
|
1051
|
+
</li>
|
|
1052
|
+
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
|
|
1056
|
+
|
|
1057
|
+
|
|
1058
|
+
|
|
1059
|
+
|
|
1060
|
+
|
|
1061
|
+
<li class="md-nav__item">
|
|
1062
|
+
<a href="../user-guides/getting-started/search-bar.html" class="md-nav__link">
|
|
1063
|
+
The Search Bar
|
|
1064
|
+
</a>
|
|
1065
|
+
</li>
|
|
1066
|
+
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
|
|
1070
|
+
|
|
1071
|
+
|
|
1072
|
+
|
|
1073
|
+
|
|
1074
|
+
|
|
1075
|
+
<li class="md-nav__item">
|
|
1076
|
+
<a href="../user-guides/git-data-source.html" class="md-nav__link">
|
|
1077
|
+
Git as a Data Source
|
|
1078
|
+
</a>
|
|
1079
|
+
</li>
|
|
1080
|
+
|
|
1081
|
+
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
|
|
1085
|
+
|
|
1086
|
+
|
|
1087
|
+
|
|
1088
|
+
|
|
1089
|
+
<li class="md-nav__item">
|
|
1090
|
+
<a href="../user-guides/graphql.html" class="md-nav__link">
|
|
1091
|
+
GraphQL
|
|
1092
|
+
</a>
|
|
1093
|
+
</li>
|
|
1094
|
+
|
|
1095
|
+
|
|
1096
|
+
|
|
1097
|
+
|
|
1098
|
+
|
|
1099
|
+
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
|
|
1103
|
+
<li class="md-nav__item">
|
|
1104
|
+
<a href="../user-guides/relationships.html" class="md-nav__link">
|
|
1105
|
+
Relationships
|
|
1106
|
+
</a>
|
|
1107
|
+
</li>
|
|
1108
|
+
|
|
1109
|
+
|
|
1110
|
+
|
|
1111
|
+
|
|
1112
|
+
|
|
1113
|
+
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
|
|
1117
|
+
<li class="md-nav__item">
|
|
1118
|
+
<a href="../user-guides/s3-django-storage.html" class="md-nav__link">
|
|
1119
|
+
Django Storages with S3
|
|
1120
|
+
</a>
|
|
1121
|
+
</li>
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
|
|
1130
|
+
|
|
1131
|
+
<li class="md-nav__item">
|
|
1132
|
+
<a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
|
|
1133
|
+
VLANS and VLAN Groups
|
|
1134
|
+
</a>
|
|
1135
|
+
</li>
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
|
|
1139
|
+
|
|
1140
|
+
</ul>
|
|
1141
|
+
</nav>
|
|
1142
|
+
</li>
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
|
|
1157
|
+
|
|
1158
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
|
|
1159
|
+
|
|
1160
|
+
|
|
1161
|
+
|
|
1162
|
+
<label class="md-nav__link" for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
|
|
1163
|
+
Core Functionality
|
|
1164
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1165
|
+
</label>
|
|
1166
|
+
|
|
1167
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
|
|
1168
|
+
<label class="md-nav__title" for="__nav_2_7">
|
|
1169
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1170
|
+
Core Functionality
|
|
1171
|
+
</label>
|
|
1172
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
<li class="md-nav__item">
|
|
1180
|
+
<a href="../core-functionality/circuits.html" class="md-nav__link">
|
|
1181
|
+
Circuits
|
|
1182
|
+
</a>
|
|
1183
|
+
</li>
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
<li class="md-nav__item">
|
|
1194
|
+
<a href="../core-functionality/devices.html" class="md-nav__link">
|
|
1195
|
+
Devices and Cabling
|
|
1196
|
+
</a>
|
|
1197
|
+
</li>
|
|
1198
|
+
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
|
|
1207
|
+
<li class="md-nav__item">
|
|
1208
|
+
<a href="../core-functionality/device-types.html" class="md-nav__link">
|
|
1209
|
+
Device Types
|
|
1210
|
+
</a>
|
|
1211
|
+
</li>
|
|
1212
|
+
|
|
1213
|
+
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
|
|
1218
|
+
|
|
1219
|
+
|
|
1220
|
+
|
|
1221
|
+
<li class="md-nav__item">
|
|
1222
|
+
<a href="../core-functionality/ipam.html" class="md-nav__link">
|
|
1223
|
+
IP Address Management
|
|
1224
|
+
</a>
|
|
1225
|
+
</li>
|
|
1226
|
+
|
|
1227
|
+
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
|
|
1234
|
+
|
|
1235
|
+
<li class="md-nav__item">
|
|
1236
|
+
<a href="../core-functionality/power.html" class="md-nav__link">
|
|
1237
|
+
Power Tracking
|
|
1238
|
+
</a>
|
|
1239
|
+
</li>
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
|
|
1245
|
+
|
|
1246
|
+
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
<li class="md-nav__item">
|
|
1250
|
+
<a href="../core-functionality/secrets.html" class="md-nav__link">
|
|
1251
|
+
Secrets
|
|
1252
|
+
</a>
|
|
1253
|
+
</li>
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
|
|
1261
|
+
|
|
1262
|
+
|
|
1263
|
+
<li class="md-nav__item">
|
|
1264
|
+
<a href="../core-functionality/services.html" class="md-nav__link">
|
|
1265
|
+
Service Mapping
|
|
1266
|
+
</a>
|
|
1267
|
+
</li>
|
|
1268
|
+
|
|
1269
|
+
|
|
1270
|
+
|
|
1271
|
+
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
|
|
1276
|
+
|
|
1277
|
+
<li class="md-nav__item">
|
|
1278
|
+
<a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
|
|
1279
|
+
Sites, Locations, and Racks
|
|
1280
|
+
</a>
|
|
1281
|
+
</li>
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
|
|
1291
|
+
<li class="md-nav__item">
|
|
1292
|
+
<a href="../core-functionality/tenancy.html" class="md-nav__link">
|
|
1293
|
+
Tenancy
|
|
1294
|
+
</a>
|
|
1295
|
+
</li>
|
|
1296
|
+
|
|
1297
|
+
|
|
1298
|
+
|
|
1299
|
+
|
|
1300
|
+
|
|
1301
|
+
|
|
1302
|
+
|
|
1303
|
+
|
|
1304
|
+
|
|
1305
|
+
<li class="md-nav__item">
|
|
1306
|
+
<a href="../core-functionality/virtualization.html" class="md-nav__link">
|
|
1307
|
+
Virtualization
|
|
1308
|
+
</a>
|
|
1309
|
+
</li>
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
|
|
1316
|
+
|
|
1317
|
+
|
|
1318
|
+
|
|
1319
|
+
<li class="md-nav__item">
|
|
1320
|
+
<a href="../core-functionality/vlans.html" class="md-nav__link">
|
|
1321
|
+
VLAN Management
|
|
1322
|
+
</a>
|
|
1323
|
+
</li>
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
|
|
1328
|
+
</ul>
|
|
1329
|
+
</nav>
|
|
1330
|
+
</li>
|
|
1331
|
+
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
|
+
|
|
1345
|
+
|
|
1346
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8" >
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
|
|
1350
|
+
<label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex="0">
|
|
1351
|
+
Model Details
|
|
1352
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1353
|
+
</label>
|
|
1354
|
+
|
|
1355
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
|
|
1356
|
+
<label class="md-nav__title" for="__nav_2_8">
|
|
1357
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1358
|
+
Model Details
|
|
1359
|
+
</label>
|
|
1360
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
|
|
1372
|
+
|
|
1373
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_1" >
|
|
1374
|
+
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
<label class="md-nav__link" for="__nav_2_8_1" id="__nav_2_8_1_label" tabindex="0">
|
|
1378
|
+
Circuits
|
|
1379
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1380
|
+
</label>
|
|
1381
|
+
|
|
1382
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_1_label" aria-expanded="false">
|
|
1383
|
+
<label class="md-nav__title" for="__nav_2_8_1">
|
|
1384
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1385
|
+
Circuits
|
|
1386
|
+
</label>
|
|
1387
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
<li class="md-nav__item">
|
|
1395
|
+
<a href="../models/circuits/circuit.html" class="md-nav__link">
|
|
1396
|
+
Circuit
|
|
1397
|
+
</a>
|
|
1398
|
+
</li>
|
|
1399
|
+
|
|
1400
|
+
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
<li class="md-nav__item">
|
|
1409
|
+
<a href="../models/circuits/circuittermination.html" class="md-nav__link">
|
|
1410
|
+
Circuit Termination
|
|
1411
|
+
</a>
|
|
1412
|
+
</li>
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
|
|
1422
|
+
<li class="md-nav__item">
|
|
1423
|
+
<a href="../models/circuits/circuittype.html" class="md-nav__link">
|
|
1424
|
+
Circuit Type
|
|
1425
|
+
</a>
|
|
1426
|
+
</li>
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
|
|
1436
|
+
<li class="md-nav__item">
|
|
1437
|
+
<a href="../models/circuits/provider.html" class="md-nav__link">
|
|
1438
|
+
Circuit Provider
|
|
1439
|
+
</a>
|
|
1440
|
+
</li>
|
|
1441
|
+
|
|
1442
|
+
|
|
1443
|
+
|
|
1444
|
+
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
<li class="md-nav__item">
|
|
1451
|
+
<a href="../models/circuits/providernetwork.html" class="md-nav__link">
|
|
1452
|
+
Circuit Provider Network
|
|
1453
|
+
</a>
|
|
1454
|
+
</li>
|
|
1455
|
+
|
|
1456
|
+
|
|
1457
|
+
|
|
1458
|
+
|
|
1459
|
+
</ul>
|
|
1460
|
+
</nav>
|
|
1461
|
+
</li>
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
|
|
1476
|
+
|
|
1477
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_2" >
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
|
|
1481
|
+
<label class="md-nav__link" for="__nav_2_8_2" id="__nav_2_8_2_label" tabindex="0">
|
|
1482
|
+
DCIM
|
|
1483
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1484
|
+
</label>
|
|
1485
|
+
|
|
1486
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_2_label" aria-expanded="false">
|
|
1487
|
+
<label class="md-nav__title" for="__nav_2_8_2">
|
|
1488
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1489
|
+
DCIM
|
|
1490
|
+
</label>
|
|
1491
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
<li class="md-nav__item">
|
|
1499
|
+
<a href="../models/dcim/cable.html" class="md-nav__link">
|
|
1500
|
+
Cable
|
|
1501
|
+
</a>
|
|
1502
|
+
</li>
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
|
|
1512
|
+
<li class="md-nav__item">
|
|
1513
|
+
<a href="../models/dcim/consoleport.html" class="md-nav__link">
|
|
1514
|
+
Console Port
|
|
1515
|
+
</a>
|
|
1516
|
+
</li>
|
|
1517
|
+
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
<li class="md-nav__item">
|
|
1527
|
+
<a href="../models/dcim/consoleporttemplate.html" class="md-nav__link">
|
|
1528
|
+
Console Port Template
|
|
1529
|
+
</a>
|
|
1530
|
+
</li>
|
|
1531
|
+
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
|
|
1539
|
+
|
|
1540
|
+
<li class="md-nav__item">
|
|
1541
|
+
<a href="../models/dcim/consoleserverport.html" class="md-nav__link">
|
|
1542
|
+
Console Server Port
|
|
1543
|
+
</a>
|
|
1544
|
+
</li>
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
|
|
1554
|
+
<li class="md-nav__item">
|
|
1555
|
+
<a href="../models/dcim/consoleserverporttemplate.html" class="md-nav__link">
|
|
1556
|
+
Console Server Port Template
|
|
1557
|
+
</a>
|
|
1558
|
+
</li>
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
|
|
1568
|
+
<li class="md-nav__item">
|
|
1569
|
+
<a href="../models/dcim/device.html" class="md-nav__link">
|
|
1570
|
+
Device
|
|
1571
|
+
</a>
|
|
1572
|
+
</li>
|
|
1573
|
+
|
|
1574
|
+
|
|
1575
|
+
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
<li class="md-nav__item">
|
|
1583
|
+
<a href="../models/dcim/devicebay.html" class="md-nav__link">
|
|
1584
|
+
Device Bay
|
|
1585
|
+
</a>
|
|
1586
|
+
</li>
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
|
|
1596
|
+
<li class="md-nav__item">
|
|
1597
|
+
<a href="../models/dcim/devicebaytemplate.html" class="md-nav__link">
|
|
1598
|
+
Device Bay Template
|
|
1599
|
+
</a>
|
|
1600
|
+
</li>
|
|
1601
|
+
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
|
|
1605
|
+
|
|
1606
|
+
|
|
1607
|
+
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
<li class="md-nav__item">
|
|
1611
|
+
<a href="../models/dcim/deviceredundancygroup.html" class="md-nav__link">
|
|
1612
|
+
Device Redundancy Group
|
|
1613
|
+
</a>
|
|
1614
|
+
</li>
|
|
1615
|
+
|
|
1616
|
+
|
|
1617
|
+
|
|
1618
|
+
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
|
|
1623
|
+
|
|
1624
|
+
<li class="md-nav__item">
|
|
1625
|
+
<a href="../models/dcim/devicetype.html" class="md-nav__link">
|
|
1626
|
+
Device Type
|
|
1627
|
+
</a>
|
|
1628
|
+
</li>
|
|
1629
|
+
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
|
|
1633
|
+
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
|
|
1637
|
+
|
|
1638
|
+
<li class="md-nav__item">
|
|
1639
|
+
<a href="../models/dcim/frontport.html" class="md-nav__link">
|
|
1640
|
+
Front Port
|
|
1641
|
+
</a>
|
|
1642
|
+
</li>
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
|
|
1647
|
+
|
|
1648
|
+
|
|
1649
|
+
|
|
1650
|
+
|
|
1651
|
+
|
|
1652
|
+
<li class="md-nav__item">
|
|
1653
|
+
<a href="../models/dcim/frontporttemplate.html" class="md-nav__link">
|
|
1654
|
+
Front Port Template
|
|
1655
|
+
</a>
|
|
1656
|
+
</li>
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
|
|
1665
|
+
|
|
1666
|
+
<li class="md-nav__item">
|
|
1667
|
+
<a href="../models/dcim/interface.html" class="md-nav__link">
|
|
1668
|
+
Interface
|
|
1669
|
+
</a>
|
|
1670
|
+
</li>
|
|
1671
|
+
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
|
|
1676
|
+
|
|
1677
|
+
|
|
1678
|
+
|
|
1679
|
+
|
|
1680
|
+
<li class="md-nav__item">
|
|
1681
|
+
<a href="../models/dcim/interfacetemplate.html" class="md-nav__link">
|
|
1682
|
+
Interface Template
|
|
1683
|
+
</a>
|
|
1684
|
+
</li>
|
|
1685
|
+
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
|
|
1689
|
+
|
|
1690
|
+
|
|
1691
|
+
|
|
1692
|
+
|
|
1693
|
+
|
|
1694
|
+
<li class="md-nav__item">
|
|
1695
|
+
<a href="../models/dcim/inventoryitem.html" class="md-nav__link">
|
|
1696
|
+
Inventory Item
|
|
1697
|
+
</a>
|
|
1698
|
+
</li>
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
|
|
1707
|
+
|
|
1708
|
+
<li class="md-nav__item">
|
|
1709
|
+
<a href="../models/dcim/location.html" class="md-nav__link">
|
|
1710
|
+
Location
|
|
1711
|
+
</a>
|
|
1712
|
+
</li>
|
|
1713
|
+
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
|
|
1717
|
+
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
|
|
1721
|
+
|
|
1722
|
+
<li class="md-nav__item">
|
|
1723
|
+
<a href="../models/dcim/locationtype.html" class="md-nav__link">
|
|
1724
|
+
Location Type
|
|
1725
|
+
</a>
|
|
1726
|
+
</li>
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
|
|
1735
|
+
|
|
1736
|
+
<li class="md-nav__item">
|
|
1737
|
+
<a href="../models/dcim/manufacturer.html" class="md-nav__link">
|
|
1738
|
+
Manufacturer
|
|
1739
|
+
</a>
|
|
1740
|
+
</li>
|
|
1741
|
+
|
|
1742
|
+
|
|
1743
|
+
|
|
1744
|
+
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
|
|
1749
|
+
|
|
1750
|
+
<li class="md-nav__item">
|
|
1751
|
+
<a href="../models/dcim/platform.html" class="md-nav__link">
|
|
1752
|
+
Platform
|
|
1753
|
+
</a>
|
|
1754
|
+
</li>
|
|
1755
|
+
|
|
1756
|
+
|
|
1757
|
+
|
|
1758
|
+
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
|
|
1762
|
+
|
|
1763
|
+
|
|
1764
|
+
<li class="md-nav__item">
|
|
1765
|
+
<a href="../models/dcim/powerfeed.html" class="md-nav__link">
|
|
1766
|
+
Power Feed
|
|
1767
|
+
</a>
|
|
1768
|
+
</li>
|
|
1769
|
+
|
|
1770
|
+
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1775
|
+
|
|
1776
|
+
|
|
1777
|
+
|
|
1778
|
+
<li class="md-nav__item">
|
|
1779
|
+
<a href="../models/dcim/poweroutlet.html" class="md-nav__link">
|
|
1780
|
+
Power Outlet
|
|
1781
|
+
</a>
|
|
1782
|
+
</li>
|
|
1783
|
+
|
|
1784
|
+
|
|
1785
|
+
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
|
|
1789
|
+
|
|
1790
|
+
|
|
1791
|
+
|
|
1792
|
+
<li class="md-nav__item">
|
|
1793
|
+
<a href="../models/dcim/poweroutlettemplate.html" class="md-nav__link">
|
|
1794
|
+
Power Outlet Template
|
|
1795
|
+
</a>
|
|
1796
|
+
</li>
|
|
1797
|
+
|
|
1798
|
+
|
|
1799
|
+
|
|
1800
|
+
|
|
1801
|
+
|
|
1802
|
+
|
|
1803
|
+
|
|
1804
|
+
|
|
1805
|
+
|
|
1806
|
+
<li class="md-nav__item">
|
|
1807
|
+
<a href="../models/dcim/powerpanel.html" class="md-nav__link">
|
|
1808
|
+
Power Panel
|
|
1809
|
+
</a>
|
|
1810
|
+
</li>
|
|
1811
|
+
|
|
1812
|
+
|
|
1813
|
+
|
|
1814
|
+
|
|
1815
|
+
|
|
1816
|
+
|
|
1817
|
+
|
|
1818
|
+
|
|
1819
|
+
|
|
1820
|
+
<li class="md-nav__item">
|
|
1821
|
+
<a href="../models/dcim/powerport.html" class="md-nav__link">
|
|
1822
|
+
Power Port
|
|
1823
|
+
</a>
|
|
1824
|
+
</li>
|
|
1825
|
+
|
|
1826
|
+
|
|
1827
|
+
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
|
|
1831
|
+
|
|
1832
|
+
|
|
1833
|
+
|
|
1834
|
+
<li class="md-nav__item">
|
|
1835
|
+
<a href="../models/dcim/powerporttemplate.html" class="md-nav__link">
|
|
1836
|
+
Power Port Template
|
|
1837
|
+
</a>
|
|
1838
|
+
</li>
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
|
|
1842
|
+
|
|
1843
|
+
|
|
1844
|
+
|
|
1845
|
+
|
|
1846
|
+
|
|
1847
|
+
|
|
1848
|
+
<li class="md-nav__item">
|
|
1849
|
+
<a href="../models/dcim/rack.html" class="md-nav__link">
|
|
1850
|
+
Rack
|
|
1851
|
+
</a>
|
|
1852
|
+
</li>
|
|
1853
|
+
|
|
1854
|
+
|
|
1855
|
+
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
|
|
1861
|
+
|
|
1862
|
+
<li class="md-nav__item">
|
|
1863
|
+
<a href="../models/dcim/rackgroup.html" class="md-nav__link">
|
|
1864
|
+
Rack Group
|
|
1865
|
+
</a>
|
|
1866
|
+
</li>
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
|
|
1870
|
+
|
|
1871
|
+
|
|
1872
|
+
|
|
1873
|
+
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
<li class="md-nav__item">
|
|
1877
|
+
<a href="../models/dcim/rackreservation.html" class="md-nav__link">
|
|
1878
|
+
Rack Reservation
|
|
1879
|
+
</a>
|
|
1880
|
+
</li>
|
|
1881
|
+
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
|
|
1889
|
+
|
|
1890
|
+
<li class="md-nav__item">
|
|
1891
|
+
<a href="../models/dcim/rearport.html" class="md-nav__link">
|
|
1892
|
+
Rear Port
|
|
1893
|
+
</a>
|
|
1894
|
+
</li>
|
|
1895
|
+
|
|
1896
|
+
|
|
1897
|
+
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
|
|
1901
|
+
|
|
1902
|
+
|
|
1903
|
+
|
|
1904
|
+
<li class="md-nav__item">
|
|
1905
|
+
<a href="../models/dcim/rearporttemplate.html" class="md-nav__link">
|
|
1906
|
+
Rear Port Template
|
|
1907
|
+
</a>
|
|
1908
|
+
</li>
|
|
1909
|
+
|
|
1910
|
+
|
|
1911
|
+
|
|
1912
|
+
|
|
1913
|
+
|
|
1914
|
+
|
|
1915
|
+
|
|
1916
|
+
|
|
1917
|
+
|
|
1918
|
+
<li class="md-nav__item">
|
|
1919
|
+
<a href="../models/dcim/virtualchassis.html" class="md-nav__link">
|
|
1920
|
+
Virtual Chassis
|
|
1921
|
+
</a>
|
|
1922
|
+
</li>
|
|
1923
|
+
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
|
|
1927
|
+
</ul>
|
|
1928
|
+
</nav>
|
|
1929
|
+
</li>
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
|
|
1934
|
+
|
|
1935
|
+
|
|
1936
|
+
|
|
1937
|
+
|
|
1938
|
+
|
|
1939
|
+
|
|
1940
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1941
|
+
|
|
1942
|
+
|
|
1943
|
+
|
|
1944
|
+
|
|
1945
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_3" >
|
|
1946
|
+
|
|
1947
|
+
|
|
1948
|
+
|
|
1949
|
+
<label class="md-nav__link" for="__nav_2_8_3" id="__nav_2_8_3_label" tabindex="0">
|
|
1950
|
+
Extras
|
|
1951
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1952
|
+
</label>
|
|
1953
|
+
|
|
1954
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_3_label" aria-expanded="false">
|
|
1955
|
+
<label class="md-nav__title" for="__nav_2_8_3">
|
|
1956
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1957
|
+
Extras
|
|
1958
|
+
</label>
|
|
1959
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
|
|
1963
|
+
|
|
1964
|
+
|
|
1965
|
+
|
|
1966
|
+
<li class="md-nav__item">
|
|
1967
|
+
<a href="../models/extras/configcontext.html" class="md-nav__link">
|
|
1968
|
+
Config Context
|
|
1969
|
+
</a>
|
|
1970
|
+
</li>
|
|
1971
|
+
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
|
|
1975
|
+
|
|
1976
|
+
|
|
1977
|
+
|
|
1978
|
+
|
|
1979
|
+
|
|
1980
|
+
<li class="md-nav__item">
|
|
1981
|
+
<a href="../models/extras/configcontextschema.html" class="md-nav__link">
|
|
1982
|
+
Config Context Schema
|
|
1983
|
+
</a>
|
|
1984
|
+
</li>
|
|
1985
|
+
|
|
1986
|
+
|
|
1987
|
+
|
|
1988
|
+
|
|
1989
|
+
|
|
1990
|
+
|
|
1991
|
+
|
|
1992
|
+
|
|
1993
|
+
|
|
1994
|
+
<li class="md-nav__item">
|
|
1995
|
+
<a href="../models/extras/graphqlquery.html" class="md-nav__link">
|
|
1996
|
+
GraphQL Query
|
|
1997
|
+
</a>
|
|
1998
|
+
</li>
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
|
|
2003
|
+
|
|
2004
|
+
|
|
2005
|
+
|
|
2006
|
+
|
|
2007
|
+
|
|
2008
|
+
<li class="md-nav__item">
|
|
2009
|
+
<a href="../models/extras/imageattachment.html" class="md-nav__link">
|
|
2010
|
+
Image Attachment
|
|
2011
|
+
</a>
|
|
2012
|
+
</li>
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
|
|
2017
|
+
|
|
2018
|
+
|
|
2019
|
+
|
|
2020
|
+
|
|
2021
|
+
|
|
2022
|
+
<li class="md-nav__item">
|
|
2023
|
+
<a href="../models/extras/job.html" class="md-nav__link">
|
|
2024
|
+
Job
|
|
2025
|
+
</a>
|
|
2026
|
+
</li>
|
|
2027
|
+
|
|
2028
|
+
|
|
2029
|
+
|
|
2030
|
+
|
|
2031
|
+
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
|
|
2035
|
+
|
|
2036
|
+
<li class="md-nav__item">
|
|
2037
|
+
<a href="../models/extras/joblogentry.html" class="md-nav__link">
|
|
2038
|
+
Job Log Entry
|
|
2039
|
+
</a>
|
|
2040
|
+
</li>
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
|
|
2047
|
+
|
|
2048
|
+
|
|
2049
|
+
|
|
2050
|
+
<li class="md-nav__item">
|
|
2051
|
+
<a href="../models/extras/jobresult.html" class="md-nav__link">
|
|
2052
|
+
Job Result
|
|
2053
|
+
</a>
|
|
2054
|
+
</li>
|
|
2055
|
+
|
|
2056
|
+
|
|
2057
|
+
|
|
2058
|
+
|
|
2059
|
+
|
|
2060
|
+
|
|
2061
|
+
|
|
2062
|
+
|
|
2063
|
+
|
|
2064
|
+
<li class="md-nav__item">
|
|
2065
|
+
<a href="../models/extras/role.html" class="md-nav__link">
|
|
2066
|
+
Role
|
|
2067
|
+
</a>
|
|
2068
|
+
</li>
|
|
2069
|
+
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
|
|
2073
|
+
|
|
2074
|
+
|
|
2075
|
+
|
|
2076
|
+
|
|
2077
|
+
|
|
2078
|
+
<li class="md-nav__item">
|
|
2079
|
+
<a href="../models/extras/secret.html" class="md-nav__link">
|
|
2080
|
+
Secret
|
|
2081
|
+
</a>
|
|
2082
|
+
</li>
|
|
2083
|
+
|
|
2084
|
+
|
|
2085
|
+
|
|
2086
|
+
|
|
2087
|
+
|
|
2088
|
+
|
|
2089
|
+
|
|
2090
|
+
|
|
2091
|
+
|
|
2092
|
+
<li class="md-nav__item">
|
|
2093
|
+
<a href="../models/extras/secretsgroup.html" class="md-nav__link">
|
|
2094
|
+
Secrets group
|
|
2095
|
+
</a>
|
|
2096
|
+
</li>
|
|
2097
|
+
|
|
2098
|
+
|
|
2099
|
+
|
|
2100
|
+
|
|
2101
|
+
</ul>
|
|
2102
|
+
</nav>
|
|
2103
|
+
</li>
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
|
|
2107
|
+
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
|
|
2111
|
+
|
|
2112
|
+
|
|
2113
|
+
|
|
2114
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
|
|
2118
|
+
|
|
2119
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_4" >
|
|
2120
|
+
|
|
2121
|
+
|
|
2122
|
+
|
|
2123
|
+
<label class="md-nav__link" for="__nav_2_8_4" id="__nav_2_8_4_label" tabindex="0">
|
|
2124
|
+
IPAM
|
|
2125
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2126
|
+
</label>
|
|
2127
|
+
|
|
2128
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_4_label" aria-expanded="false">
|
|
2129
|
+
<label class="md-nav__title" for="__nav_2_8_4">
|
|
2130
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2131
|
+
IPAM
|
|
2132
|
+
</label>
|
|
2133
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2134
|
+
|
|
2135
|
+
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
|
|
2139
|
+
|
|
2140
|
+
<li class="md-nav__item">
|
|
2141
|
+
<a href="../models/ipam/ipaddress.html" class="md-nav__link">
|
|
2142
|
+
IP Address
|
|
1028
2143
|
</a>
|
|
1029
2144
|
</li>
|
|
1030
2145
|
|
|
@@ -1037,8 +2152,8 @@
|
|
|
1037
2152
|
|
|
1038
2153
|
|
|
1039
2154
|
<li class="md-nav__item">
|
|
1040
|
-
<a href="../
|
|
1041
|
-
|
|
2155
|
+
<a href="../models/ipam/prefix.html" class="md-nav__link">
|
|
2156
|
+
Prefix
|
|
1042
2157
|
</a>
|
|
1043
2158
|
</li>
|
|
1044
2159
|
|
|
@@ -1051,8 +2166,8 @@
|
|
|
1051
2166
|
|
|
1052
2167
|
|
|
1053
2168
|
<li class="md-nav__item">
|
|
1054
|
-
<a href="../
|
|
1055
|
-
|
|
2169
|
+
<a href="../models/ipam/rir.html" class="md-nav__link">
|
|
2170
|
+
Rir
|
|
1056
2171
|
</a>
|
|
1057
2172
|
</li>
|
|
1058
2173
|
|
|
@@ -1065,8 +2180,8 @@
|
|
|
1065
2180
|
|
|
1066
2181
|
|
|
1067
2182
|
<li class="md-nav__item">
|
|
1068
|
-
<a href="../
|
|
1069
|
-
|
|
2183
|
+
<a href="../models/ipam/routetarget.html" class="md-nav__link">
|
|
2184
|
+
Route Target
|
|
1070
2185
|
</a>
|
|
1071
2186
|
</li>
|
|
1072
2187
|
|
|
@@ -1079,8 +2194,8 @@
|
|
|
1079
2194
|
|
|
1080
2195
|
|
|
1081
2196
|
<li class="md-nav__item">
|
|
1082
|
-
<a href="../
|
|
1083
|
-
|
|
2197
|
+
<a href="../models/ipam/service.html" class="md-nav__link">
|
|
2198
|
+
Service
|
|
1084
2199
|
</a>
|
|
1085
2200
|
</li>
|
|
1086
2201
|
|
|
@@ -1093,8 +2208,8 @@
|
|
|
1093
2208
|
|
|
1094
2209
|
|
|
1095
2210
|
<li class="md-nav__item">
|
|
1096
|
-
<a href="../
|
|
1097
|
-
|
|
2211
|
+
<a href="../models/ipam/vlan.html" class="md-nav__link">
|
|
2212
|
+
VLAN
|
|
1098
2213
|
</a>
|
|
1099
2214
|
</li>
|
|
1100
2215
|
|
|
@@ -1107,8 +2222,8 @@
|
|
|
1107
2222
|
|
|
1108
2223
|
|
|
1109
2224
|
<li class="md-nav__item">
|
|
1110
|
-
<a href="../
|
|
1111
|
-
|
|
2225
|
+
<a href="../models/ipam/vlangroup.html" class="md-nav__link">
|
|
2226
|
+
VLAN Group
|
|
1112
2227
|
</a>
|
|
1113
2228
|
</li>
|
|
1114
2229
|
|
|
@@ -1121,8 +2236,8 @@
|
|
|
1121
2236
|
|
|
1122
2237
|
|
|
1123
2238
|
<li class="md-nav__item">
|
|
1124
|
-
<a href="../
|
|
1125
|
-
|
|
2239
|
+
<a href="../models/ipam/vrf.html" class="md-nav__link">
|
|
2240
|
+
VRF
|
|
1126
2241
|
</a>
|
|
1127
2242
|
</li>
|
|
1128
2243
|
|
|
@@ -1145,20 +2260,21 @@
|
|
|
1145
2260
|
<li class="md-nav__item md-nav__item--nested">
|
|
1146
2261
|
|
|
1147
2262
|
|
|
1148
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_7" type="checkbox" id="__nav_2_7" >
|
|
1149
2263
|
|
|
1150
2264
|
|
|
2265
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_5" >
|
|
1151
2266
|
|
|
1152
2267
|
|
|
1153
|
-
|
|
1154
|
-
|
|
2268
|
+
|
|
2269
|
+
<label class="md-nav__link" for="__nav_2_8_5" id="__nav_2_8_5_label" tabindex="0">
|
|
2270
|
+
Tenancy
|
|
1155
2271
|
<span class="md-nav__icon md-icon"></span>
|
|
1156
2272
|
</label>
|
|
1157
2273
|
|
|
1158
|
-
<nav class="md-nav"
|
|
1159
|
-
<label class="md-nav__title" for="
|
|
2274
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_5_label" aria-expanded="false">
|
|
2275
|
+
<label class="md-nav__title" for="__nav_2_8_5">
|
|
1160
2276
|
<span class="md-nav__icon md-icon"></span>
|
|
1161
|
-
|
|
2277
|
+
Tenancy
|
|
1162
2278
|
</label>
|
|
1163
2279
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
1164
2280
|
|
|
@@ -1168,8 +2284,8 @@
|
|
|
1168
2284
|
|
|
1169
2285
|
|
|
1170
2286
|
<li class="md-nav__item">
|
|
1171
|
-
<a href="../
|
|
1172
|
-
|
|
2287
|
+
<a href="../models/tenancy/tenant.html" class="md-nav__link">
|
|
2288
|
+
Tenant
|
|
1173
2289
|
</a>
|
|
1174
2290
|
</li>
|
|
1175
2291
|
|
|
@@ -1182,27 +2298,47 @@
|
|
|
1182
2298
|
|
|
1183
2299
|
|
|
1184
2300
|
<li class="md-nav__item">
|
|
1185
|
-
<a href="../
|
|
1186
|
-
|
|
2301
|
+
<a href="../models/tenancy/tenantgroup.html" class="md-nav__link">
|
|
2302
|
+
Tenant Group
|
|
1187
2303
|
</a>
|
|
1188
2304
|
</li>
|
|
1189
2305
|
|
|
1190
2306
|
|
|
1191
2307
|
|
|
1192
2308
|
|
|
2309
|
+
</ul>
|
|
2310
|
+
</nav>
|
|
2311
|
+
</li>
|
|
2312
|
+
|
|
2313
|
+
|
|
2314
|
+
|
|
2315
|
+
|
|
1193
2316
|
|
|
1194
2317
|
|
|
1195
2318
|
|
|
1196
2319
|
|
|
1197
2320
|
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
2321
|
+
|
|
2322
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2323
|
+
|
|
2324
|
+
|
|
2325
|
+
|
|
2326
|
+
|
|
2327
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_6" >
|
|
2328
|
+
|
|
2329
|
+
|
|
2330
|
+
|
|
2331
|
+
<label class="md-nav__link" for="__nav_2_8_6" id="__nav_2_8_6_label" tabindex="0">
|
|
2332
|
+
Users
|
|
2333
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2334
|
+
</label>
|
|
2335
|
+
|
|
2336
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_6_label" aria-expanded="false">
|
|
2337
|
+
<label class="md-nav__title" for="__nav_2_8_6">
|
|
2338
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2339
|
+
Users
|
|
2340
|
+
</label>
|
|
2341
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1206
2342
|
|
|
1207
2343
|
|
|
1208
2344
|
|
|
@@ -1210,8 +2346,8 @@
|
|
|
1210
2346
|
|
|
1211
2347
|
|
|
1212
2348
|
<li class="md-nav__item">
|
|
1213
|
-
<a href="../
|
|
1214
|
-
|
|
2349
|
+
<a href="../models/users/objectpermission.html" class="md-nav__link">
|
|
2350
|
+
Object Permission
|
|
1215
2351
|
</a>
|
|
1216
2352
|
</li>
|
|
1217
2353
|
|
|
@@ -1224,27 +2360,47 @@
|
|
|
1224
2360
|
|
|
1225
2361
|
|
|
1226
2362
|
<li class="md-nav__item">
|
|
1227
|
-
<a href="../
|
|
1228
|
-
|
|
2363
|
+
<a href="../models/users/token.html" class="md-nav__link">
|
|
2364
|
+
Token
|
|
1229
2365
|
</a>
|
|
1230
2366
|
</li>
|
|
1231
2367
|
|
|
1232
2368
|
|
|
1233
2369
|
|
|
1234
2370
|
|
|
2371
|
+
</ul>
|
|
2372
|
+
</nav>
|
|
2373
|
+
</li>
|
|
2374
|
+
|
|
2375
|
+
|
|
2376
|
+
|
|
2377
|
+
|
|
1235
2378
|
|
|
1236
2379
|
|
|
1237
2380
|
|
|
1238
2381
|
|
|
1239
2382
|
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
2383
|
+
|
|
2384
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
|
|
2388
|
+
|
|
2389
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_7" >
|
|
2390
|
+
|
|
2391
|
+
|
|
2392
|
+
|
|
2393
|
+
<label class="md-nav__link" for="__nav_2_8_7" id="__nav_2_8_7_label" tabindex="0">
|
|
2394
|
+
Virtualization
|
|
2395
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2396
|
+
</label>
|
|
2397
|
+
|
|
2398
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_7_label" aria-expanded="false">
|
|
2399
|
+
<label class="md-nav__title" for="__nav_2_8_7">
|
|
2400
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2401
|
+
Virtualization
|
|
2402
|
+
</label>
|
|
2403
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1248
2404
|
|
|
1249
2405
|
|
|
1250
2406
|
|
|
@@ -1252,8 +2408,8 @@
|
|
|
1252
2408
|
|
|
1253
2409
|
|
|
1254
2410
|
<li class="md-nav__item">
|
|
1255
|
-
<a href="../
|
|
1256
|
-
|
|
2411
|
+
<a href="../models/virtualization/cluster.html" class="md-nav__link">
|
|
2412
|
+
Cluster
|
|
1257
2413
|
</a>
|
|
1258
2414
|
</li>
|
|
1259
2415
|
|
|
@@ -1266,8 +2422,8 @@
|
|
|
1266
2422
|
|
|
1267
2423
|
|
|
1268
2424
|
<li class="md-nav__item">
|
|
1269
|
-
<a href="../
|
|
1270
|
-
|
|
2425
|
+
<a href="../models/virtualization/clustergroup.html" class="md-nav__link">
|
|
2426
|
+
Cluster Group
|
|
1271
2427
|
</a>
|
|
1272
2428
|
</li>
|
|
1273
2429
|
|
|
@@ -1280,8 +2436,8 @@
|
|
|
1280
2436
|
|
|
1281
2437
|
|
|
1282
2438
|
<li class="md-nav__item">
|
|
1283
|
-
<a href="../
|
|
1284
|
-
|
|
2439
|
+
<a href="../models/virtualization/clustertype.html" class="md-nav__link">
|
|
2440
|
+
Cluster Type
|
|
1285
2441
|
</a>
|
|
1286
2442
|
</li>
|
|
1287
2443
|
|
|
@@ -1294,8 +2450,8 @@
|
|
|
1294
2450
|
|
|
1295
2451
|
|
|
1296
2452
|
<li class="md-nav__item">
|
|
1297
|
-
<a href="../
|
|
1298
|
-
|
|
2453
|
+
<a href="../models/virtualization/virtualmachine.html" class="md-nav__link">
|
|
2454
|
+
Virtual Machine
|
|
1299
2455
|
</a>
|
|
1300
2456
|
</li>
|
|
1301
2457
|
|
|
@@ -1308,8 +2464,8 @@
|
|
|
1308
2464
|
|
|
1309
2465
|
|
|
1310
2466
|
<li class="md-nav__item">
|
|
1311
|
-
<a href="../
|
|
1312
|
-
|
|
2467
|
+
<a href="../models/virtualization/vminterface.html" class="md-nav__link">
|
|
2468
|
+
VM Interface
|
|
1313
2469
|
</a>
|
|
1314
2470
|
</li>
|
|
1315
2471
|
|
|
@@ -1323,6 +2479,13 @@
|
|
|
1323
2479
|
|
|
1324
2480
|
|
|
1325
2481
|
|
|
2482
|
+
</ul>
|
|
2483
|
+
</nav>
|
|
2484
|
+
</li>
|
|
2485
|
+
|
|
2486
|
+
|
|
2487
|
+
|
|
2488
|
+
|
|
1326
2489
|
|
|
1327
2490
|
|
|
1328
2491
|
|
|
@@ -1334,18 +2497,19 @@
|
|
|
1334
2497
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
1335
2498
|
|
|
1336
2499
|
|
|
1337
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_8" type="checkbox" id="__nav_2_8" checked>
|
|
1338
2500
|
|
|
1339
2501
|
|
|
2502
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" checked>
|
|
2503
|
+
|
|
1340
2504
|
|
|
1341
2505
|
|
|
1342
|
-
<label class="md-nav__link" for="
|
|
2506
|
+
<label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
|
|
1343
2507
|
Additional Features
|
|
1344
2508
|
<span class="md-nav__icon md-icon"></span>
|
|
1345
2509
|
</label>
|
|
1346
2510
|
|
|
1347
|
-
<nav class="md-nav"
|
|
1348
|
-
<label class="md-nav__title" for="
|
|
2511
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="true">
|
|
2512
|
+
<label class="md-nav__title" for="__nav_2_9">
|
|
1349
2513
|
<span class="md-nav__icon md-icon"></span>
|
|
1350
2514
|
Additional Features
|
|
1351
2515
|
</label>
|
|
@@ -1360,7 +2524,7 @@
|
|
|
1360
2524
|
|
|
1361
2525
|
<li class="md-nav__item md-nav__item--active">
|
|
1362
2526
|
|
|
1363
|
-
<input class="md-nav__toggle md-toggle"
|
|
2527
|
+
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
1364
2528
|
|
|
1365
2529
|
|
|
1366
2530
|
|
|
@@ -1410,25 +2574,11 @@
|
|
|
1410
2574
|
CACHES and django-redis
|
|
1411
2575
|
</a>
|
|
1412
2576
|
|
|
1413
|
-
</li>
|
|
1414
|
-
|
|
1415
|
-
<li class="md-nav__item">
|
|
1416
|
-
<a href="#django-cacheops" class="md-nav__link">
|
|
1417
|
-
Django Cacheops
|
|
1418
|
-
</a>
|
|
1419
|
-
|
|
1420
2577
|
</li>
|
|
1421
2578
|
|
|
1422
2579
|
</ul>
|
|
1423
2580
|
</nav>
|
|
1424
2581
|
|
|
1425
|
-
</li>
|
|
1426
|
-
|
|
1427
|
-
<li class="md-nav__item">
|
|
1428
|
-
<a href="#invalidating-cached-data" class="md-nav__link">
|
|
1429
|
-
Invalidating Cached Data
|
|
1430
|
-
</a>
|
|
1431
|
-
|
|
1432
2582
|
</li>
|
|
1433
2583
|
|
|
1434
2584
|
<li class="md-nav__item">
|
|
@@ -1452,13 +2602,6 @@
|
|
|
1452
2602
|
django-redis Sentinel Configuration
|
|
1453
2603
|
</a>
|
|
1454
2604
|
|
|
1455
|
-
</li>
|
|
1456
|
-
|
|
1457
|
-
<li class="md-nav__item">
|
|
1458
|
-
<a href="#django-cacheops-sentinel-configuration" class="md-nav__link">
|
|
1459
|
-
django-cacheops Sentinel Configuration
|
|
1460
|
-
</a>
|
|
1461
|
-
|
|
1462
2605
|
</li>
|
|
1463
2606
|
|
|
1464
2607
|
<li class="md-nav__item">
|
|
@@ -1797,18 +2940,19 @@
|
|
|
1797
2940
|
<li class="md-nav__item md-nav__item--nested">
|
|
1798
2941
|
|
|
1799
2942
|
|
|
1800
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_9" type="checkbox" id="__nav_2_9" >
|
|
1801
2943
|
|
|
1802
2944
|
|
|
2945
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" >
|
|
2946
|
+
|
|
1803
2947
|
|
|
1804
2948
|
|
|
1805
|
-
<label class="md-nav__link" for="
|
|
2949
|
+
<label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
|
|
1806
2950
|
REST API
|
|
1807
2951
|
<span class="md-nav__icon md-icon"></span>
|
|
1808
2952
|
</label>
|
|
1809
2953
|
|
|
1810
|
-
<nav class="md-nav"
|
|
1811
|
-
<label class="md-nav__title" for="
|
|
2954
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
|
|
2955
|
+
<label class="md-nav__title" for="__nav_2_10">
|
|
1812
2956
|
<span class="md-nav__icon md-icon"></span>
|
|
1813
2957
|
REST API
|
|
1814
2958
|
</label>
|
|
@@ -1856,6 +3000,20 @@
|
|
|
1856
3000
|
|
|
1857
3001
|
|
|
1858
3002
|
|
|
3003
|
+
|
|
3004
|
+
|
|
3005
|
+
|
|
3006
|
+
|
|
3007
|
+
|
|
3008
|
+
<li class="md-nav__item">
|
|
3009
|
+
<a href="../rest-api/ui-related-endpoints.html" class="md-nav__link">
|
|
3010
|
+
UI Endpoints
|
|
3011
|
+
</a>
|
|
3012
|
+
</li>
|
|
3013
|
+
|
|
3014
|
+
|
|
3015
|
+
|
|
3016
|
+
|
|
1859
3017
|
</ul>
|
|
1860
3018
|
</nav>
|
|
1861
3019
|
</li>
|
|
@@ -1872,18 +3030,19 @@
|
|
|
1872
3030
|
<li class="md-nav__item md-nav__item--nested">
|
|
1873
3031
|
|
|
1874
3032
|
|
|
1875
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_10" type="checkbox" id="__nav_2_10" >
|
|
1876
3033
|
|
|
1877
3034
|
|
|
3035
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
|
|
1878
3036
|
|
|
1879
3037
|
|
|
1880
|
-
|
|
3038
|
+
|
|
3039
|
+
<label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
|
|
1881
3040
|
GraphQL API
|
|
1882
3041
|
<span class="md-nav__icon md-icon"></span>
|
|
1883
3042
|
</label>
|
|
1884
3043
|
|
|
1885
|
-
<nav class="md-nav"
|
|
1886
|
-
<label class="md-nav__title" for="
|
|
3044
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
|
|
3045
|
+
<label class="md-nav__title" for="__nav_2_11">
|
|
1887
3046
|
<span class="md-nav__icon md-icon"></span>
|
|
1888
3047
|
GraphQL API
|
|
1889
3048
|
</label>
|
|
@@ -1941,17 +3100,18 @@
|
|
|
1941
3100
|
<li class="md-nav__item md-nav__item--nested">
|
|
1942
3101
|
|
|
1943
3102
|
|
|
1944
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
|
|
1945
3103
|
|
|
1946
3104
|
|
|
3105
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
1947
3106
|
|
|
1948
3107
|
|
|
1949
|
-
|
|
3108
|
+
|
|
3109
|
+
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
1950
3110
|
App Developer Guide
|
|
1951
3111
|
<span class="md-nav__icon md-icon"></span>
|
|
1952
3112
|
</label>
|
|
1953
3113
|
|
|
1954
|
-
<nav class="md-nav"
|
|
3114
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
1955
3115
|
<label class="md-nav__title" for="__nav_3">
|
|
1956
3116
|
<span class="md-nav__icon md-icon"></span>
|
|
1957
3117
|
App Developer Guide
|
|
@@ -1995,17 +3155,18 @@
|
|
|
1995
3155
|
<li class="md-nav__item md-nav__item--nested">
|
|
1996
3156
|
|
|
1997
3157
|
|
|
1998
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_3" type="checkbox" id="__nav_3_3" >
|
|
1999
3158
|
|
|
2000
3159
|
|
|
3160
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
|
|
3161
|
+
|
|
2001
3162
|
|
|
2002
3163
|
|
|
2003
|
-
<label class="md-nav__link" for="__nav_3_3">
|
|
3164
|
+
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
|
|
2004
3165
|
Code Reference
|
|
2005
3166
|
<span class="md-nav__icon md-icon"></span>
|
|
2006
3167
|
</label>
|
|
2007
3168
|
|
|
2008
|
-
<nav class="md-nav"
|
|
3169
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
|
|
2009
3170
|
<label class="md-nav__title" for="__nav_3_3">
|
|
2010
3171
|
<span class="md-nav__icon md-icon"></span>
|
|
2011
3172
|
Code Reference
|
|
@@ -2232,17 +3393,18 @@
|
|
|
2232
3393
|
<li class="md-nav__item md-nav__item--nested">
|
|
2233
3394
|
|
|
2234
3395
|
|
|
2235
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
|
|
2236
3396
|
|
|
2237
3397
|
|
|
3398
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
|
|
2238
3399
|
|
|
2239
3400
|
|
|
2240
|
-
|
|
3401
|
+
|
|
3402
|
+
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
2241
3403
|
Core Developer Guide
|
|
2242
3404
|
<span class="md-nav__icon md-icon"></span>
|
|
2243
3405
|
</label>
|
|
2244
3406
|
|
|
2245
|
-
<nav class="md-nav"
|
|
3407
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
|
|
2246
3408
|
<label class="md-nav__title" for="__nav_4">
|
|
2247
3409
|
<span class="md-nav__icon md-icon"></span>
|
|
2248
3410
|
Core Developer Guide
|
|
@@ -2476,17 +3638,18 @@
|
|
|
2476
3638
|
<li class="md-nav__item md-nav__item--nested">
|
|
2477
3639
|
|
|
2478
3640
|
|
|
2479
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
|
|
2480
3641
|
|
|
2481
3642
|
|
|
3643
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|
3644
|
+
|
|
2482
3645
|
|
|
2483
3646
|
|
|
2484
|
-
<label class="md-nav__link" for="__nav_5">
|
|
3647
|
+
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
2485
3648
|
Release Notes
|
|
2486
3649
|
<span class="md-nav__icon md-icon"></span>
|
|
2487
3650
|
</label>
|
|
2488
3651
|
|
|
2489
|
-
<nav class="md-nav"
|
|
3652
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|
2490
3653
|
<label class="md-nav__title" for="__nav_5">
|
|
2491
3654
|
<span class="md-nav__icon md-icon"></span>
|
|
2492
3655
|
Release Notes
|
|
@@ -2622,17 +3785,18 @@
|
|
|
2622
3785
|
<li class="md-nav__item md-nav__item--nested">
|
|
2623
3786
|
|
|
2624
3787
|
|
|
2625
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
|
|
2626
3788
|
|
|
2627
3789
|
|
|
3790
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|
2628
3791
|
|
|
2629
3792
|
|
|
2630
|
-
|
|
3793
|
+
|
|
3794
|
+
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
2631
3795
|
Nautobot Apps
|
|
2632
3796
|
<span class="md-nav__icon md-icon"></span>
|
|
2633
3797
|
</label>
|
|
2634
3798
|
|
|
2635
|
-
<nav class="md-nav"
|
|
3799
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
2636
3800
|
<label class="md-nav__title" for="__nav_6">
|
|
2637
3801
|
<span class="md-nav__icon md-icon"></span>
|
|
2638
3802
|
Nautobot Apps
|
|
@@ -2662,17 +3826,18 @@
|
|
|
2662
3826
|
<li class="md-nav__item md-nav__item--nested">
|
|
2663
3827
|
|
|
2664
3828
|
|
|
2665
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
|
|
2666
3829
|
|
|
2667
3830
|
|
|
3831
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
|
|
3832
|
+
|
|
2668
3833
|
|
|
2669
3834
|
|
|
2670
|
-
<label class="md-nav__link" for="__nav_6_2">
|
|
3835
|
+
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
|
|
2671
3836
|
Network to Code App Docs
|
|
2672
3837
|
<span class="md-nav__icon md-icon"></span>
|
|
2673
3838
|
</label>
|
|
2674
3839
|
|
|
2675
|
-
<nav class="md-nav"
|
|
3840
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
|
|
2676
3841
|
<label class="md-nav__title" for="__nav_6_2">
|
|
2677
3842
|
<span class="md-nav__icon md-icon"></span>
|
|
2678
3843
|
Network to Code App Docs
|
|
@@ -2699,8 +3864,8 @@
|
|
|
2699
3864
|
|
|
2700
3865
|
|
|
2701
3866
|
<li class="md-nav__item">
|
|
2702
|
-
<a href="https://nautobot
|
|
2703
|
-
Nautobot
|
|
3867
|
+
<a href="https://docs.nautobot.com/projects/circuit-maintenance/en/latest/" class="md-nav__link">
|
|
3868
|
+
Nautobot Circuit Maintenance
|
|
2704
3869
|
</a>
|
|
2705
3870
|
</li>
|
|
2706
3871
|
|
|
@@ -2713,8 +3878,36 @@
|
|
|
2713
3878
|
|
|
2714
3879
|
|
|
2715
3880
|
<li class="md-nav__item">
|
|
2716
|
-
<a href="https://docs.nautobot.com/projects/
|
|
2717
|
-
Nautobot
|
|
3881
|
+
<a href="https://docs.nautobot.com/projects/device-lifecycle/en/latest/" class="md-nav__link">
|
|
3882
|
+
Nautobot Device LifeCycle Management
|
|
3883
|
+
</a>
|
|
3884
|
+
</li>
|
|
3885
|
+
|
|
3886
|
+
|
|
3887
|
+
|
|
3888
|
+
|
|
3889
|
+
|
|
3890
|
+
|
|
3891
|
+
|
|
3892
|
+
|
|
3893
|
+
|
|
3894
|
+
<li class="md-nav__item">
|
|
3895
|
+
<a href="https://docs.nautobot.com/projects/device-onboarding/en/latest/" class="md-nav__link">
|
|
3896
|
+
Nautobot Device Onboarding
|
|
3897
|
+
</a>
|
|
3898
|
+
</li>
|
|
3899
|
+
|
|
3900
|
+
|
|
3901
|
+
|
|
3902
|
+
|
|
3903
|
+
|
|
3904
|
+
|
|
3905
|
+
|
|
3906
|
+
|
|
3907
|
+
|
|
3908
|
+
<li class="md-nav__item">
|
|
3909
|
+
<a href="https://nautobot-plugin-firewall-models.readthedocs.io/en/latest/" class="md-nav__link">
|
|
3910
|
+
Nautobot Firewall Models
|
|
2718
3911
|
</a>
|
|
2719
3912
|
</li>
|
|
2720
3913
|
|
|
@@ -2741,7 +3934,21 @@
|
|
|
2741
3934
|
|
|
2742
3935
|
|
|
2743
3936
|
<li class="md-nav__item">
|
|
2744
|
-
<a href="https://nautobot
|
|
3937
|
+
<a href="https://docs.nautobot.com/projects/plugin-nornir/en/latest/" class="md-nav__link">
|
|
3938
|
+
Nautobot Plugin Nornir
|
|
3939
|
+
</a>
|
|
3940
|
+
</li>
|
|
3941
|
+
|
|
3942
|
+
|
|
3943
|
+
|
|
3944
|
+
|
|
3945
|
+
|
|
3946
|
+
|
|
3947
|
+
|
|
3948
|
+
|
|
3949
|
+
|
|
3950
|
+
<li class="md-nav__item">
|
|
3951
|
+
<a href="https://docs.nautobot.com/projects/ssot/en/latest/" class="md-nav__link">
|
|
2745
3952
|
Nautobot Single Source of Truth
|
|
2746
3953
|
</a>
|
|
2747
3954
|
</li>
|
|
@@ -2837,25 +4044,11 @@
|
|
|
2837
4044
|
CACHES and django-redis
|
|
2838
4045
|
</a>
|
|
2839
4046
|
|
|
2840
|
-
</li>
|
|
2841
|
-
|
|
2842
|
-
<li class="md-nav__item">
|
|
2843
|
-
<a href="#django-cacheops" class="md-nav__link">
|
|
2844
|
-
Django Cacheops
|
|
2845
|
-
</a>
|
|
2846
|
-
|
|
2847
4047
|
</li>
|
|
2848
4048
|
|
|
2849
4049
|
</ul>
|
|
2850
4050
|
</nav>
|
|
2851
4051
|
|
|
2852
|
-
</li>
|
|
2853
|
-
|
|
2854
|
-
<li class="md-nav__item">
|
|
2855
|
-
<a href="#invalidating-cached-data" class="md-nav__link">
|
|
2856
|
-
Invalidating Cached Data
|
|
2857
|
-
</a>
|
|
2858
|
-
|
|
2859
4052
|
</li>
|
|
2860
4053
|
|
|
2861
4054
|
<li class="md-nav__item">
|
|
@@ -2879,13 +4072,6 @@
|
|
|
2879
4072
|
django-redis Sentinel Configuration
|
|
2880
4073
|
</a>
|
|
2881
4074
|
|
|
2882
|
-
</li>
|
|
2883
|
-
|
|
2884
|
-
<li class="md-nav__item">
|
|
2885
|
-
<a href="#django-cacheops-sentinel-configuration" class="md-nav__link">
|
|
2886
|
-
django-cacheops Sentinel Configuration
|
|
2887
|
-
</a>
|
|
2888
|
-
|
|
2889
4075
|
</li>
|
|
2890
4076
|
|
|
2891
4077
|
<li class="md-nav__item">
|
|
@@ -2919,10 +4105,8 @@
|
|
|
2919
4105
|
|
|
2920
4106
|
|
|
2921
4107
|
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25Z"/></svg>
|
|
2925
|
-
</a>
|
|
4108
|
+
|
|
4109
|
+
|
|
2926
4110
|
|
|
2927
4111
|
|
|
2928
4112
|
<h1 id="caching">Caching<a class="headerlink" href="#caching" title="Permanent link">¶</a></h1>
|
|
@@ -2931,48 +4115,22 @@
|
|
|
2931
4115
|
<p>To cache something is to save the result of an expensive calculation so that you don’t have to perform the calculation next time.</p>
|
|
2932
4116
|
<p>Nautobot makes extensive use of caching; this is not a simple topic but it's a useful one for a Nautobot administrator to understand, so read on if you please.</p>
|
|
2933
4117
|
<h2 id="how-it-works">How it Works<a class="headerlink" href="#how-it-works" title="Permanent link">¶</a></h2>
|
|
2934
|
-
<
|
|
2935
|
-
<
|
|
2936
|
-
<p
|
|
2937
|
-
<p>Query caching is now disabled by default, and will be removed as a supported option in a future release.</p>
|
|
4118
|
+
<div class="admonition version-removed">
|
|
4119
|
+
<p class="admonition-title">Removed in version 2.0.0</p>
|
|
4120
|
+
<p><code>django-cacheops</code> has been removed as a Nautobot dependency and is no longer used.</p>
|
|
2938
4121
|
</div>
|
|
2939
|
-
<p>If a change is made to any of the objects returned by the cached query within that time, or if the timeout expires, the cached results are automatically invalidated and the next request for those results will be sent to the database.</p>
|
|
2940
4122
|
<p>Caching is a complex topic and there are some important details to clarify with how caching is implemented and configured in Nautobot.</p>
|
|
2941
4123
|
<h3 id="caching-in-django">Caching in Django<a class="headerlink" href="#caching-in-django" title="Permanent link">¶</a></h3>
|
|
2942
|
-
<p>Django includes
|
|
4124
|
+
<p>Django includes its own <a href="https://docs.djangoproject.com/en/stable/topics/cache/">cache framework</a>. Nautobot uses this cache framework in a limited number of cases.</p>
|
|
2943
4125
|
<h3 id="caches-and-django-redis"><code>CACHES</code> and <code>django-redis</code><a class="headerlink" href="#caches-and-django-redis" title="Permanent link">¶</a></h3>
|
|
2944
|
-
<p>The <a href="../configuration/required-settings.html#caches"><code>CACHES</code></a> setting is used to, among other things, configure Django's built-in caching.
|
|
4126
|
+
<p>The <a href="../configuration/required-settings.html#caches"><code>CACHES</code></a> setting is used to, among other things, configure Django's built-in caching. <em>This is a required setting</em>. Here's why:</p>
|
|
2945
4127
|
<p>Nautobot uses the <a href="https://github.com/jazzband/django-redis"><code>django-redis</code></a> Django plugin which allows it to use Redis as a backend for caching and session storage. This is used to provide a concurrent write lock for preventing race conditions when allocating IP address objects.</p>
|
|
2946
4128
|
<p><code>django-redis</code> <em>also</em> uses the <a href="../configuration/required-settings.html#caches"><code>CACHES</code></a> setting, in its case to simplify the configuration for establishing concurrent write locks.</p>
|
|
2947
|
-
<p>Again: <strong><code>CACHES</code> is not used for Django's built-in caching at this time, but it is still a required setting for <code>django-redis</code> to function properly.</strong></p>
|
|
2948
|
-
<h3 id="django-cacheops">Django Cacheops<a class="headerlink" href="#django-cacheops" title="Permanent link">¶</a></h3>
|
|
2949
|
-
<p>Cacheops (aka <a href="https://github.com/Suor/django-cacheops"><code>django-cacheops</code></a>) is a Django plugin that does some very advanced caching, but <em>does not leverage the built-in cache framework</em>. Instead it uses a technique called <a href="https://en.wikipedia.org/wiki/Monkey_patch">"monkey patching"</a>. By monkey patching, a library can inject its own functionality into the core code behind the scenes.</p>
|
|
2950
|
-
<p>This technique allows Cacheops to do more advanced caching operations that are not provided by the Django built-in cache framework without requiring Nautobot to also include some elaborate code of its own. This is accomplished by intercepting calls to the underlying queryset methods that get and set cached results in Redis.</p>
|
|
2951
|
-
<p>For this purpose, Cacheops has its own <code>CACHEOPS_*</code> settings required to configure it that are not related to the <code>CACHES</code> setting.</p>
|
|
2952
|
-
<p>For more information on the required settings needed to configure Cacheops, please see the <a href="../configuration/required-settings.html#caching">Caching section of the required settings documentation</a>.</p>
|
|
2953
|
-
<p>The optional settings include:</p>
|
|
2954
|
-
<ul>
|
|
2955
|
-
<li><a href="../configuration/optional-settings.html#cacheops_defaults"><code>CACHEOPS_DEFAULTS</code></a>: To define the cache timeout value (Defaults to 15 minutes)</li>
|
|
2956
|
-
<li><a href="../configuration/optional-settings.html#cacheops_enabled"><code>CACHEOPS_ENABLED</code></a> : To turn on/off caching (Defaults to <code>False</code>)</li>
|
|
2957
|
-
</ul>
|
|
2958
|
-
<h2 id="invalidating-cached-data">Invalidating Cached Data<a class="headerlink" href="#invalidating-cached-data" title="Permanent link">¶</a></h2>
|
|
2959
|
-
<p>Although caching is performed automatically and rarely requires administrative intervention, Nautobot provides the <code>invalidate</code> management command to force invalidation of cached results. This command can reference a specific object my its type and UUID:</p>
|
|
2960
|
-
<blockquote>
|
|
2961
|
-
<p>Run these commands as the Nautobot user</p>
|
|
2962
|
-
</blockquote>
|
|
2963
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>nautobot-server invalidate dcim.Device.84ae706d-c189-4d13-a898-9737648e34b3
|
|
2964
|
-
</code></pre></div>
|
|
2965
|
-
<p>Alternatively, it can also delete all cached results for an object type:</p>
|
|
2966
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>nautobot-server invalidate dcim.Device
|
|
2967
|
-
</code></pre></div>
|
|
2968
|
-
<p>Finally, calling it with the <code>all</code> argument will force invalidation of the entire cache database:</p>
|
|
2969
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-2-1" name="__codelineno-2-1" href="#__codelineno-2-1"></a>nautobot-server invalidate all
|
|
2970
|
-
</code></pre></div>
|
|
2971
4129
|
<h2 id="high-availability-caching">High Availability Caching<a class="headerlink" href="#high-availability-caching" title="Permanent link">¶</a></h2>
|
|
2972
|
-
<p><a href="https://redis.io/">Redis</a> provides two different methods to achieve high availability: The first is <a href="https://redis.io/topics/sentinel">Redis Sentinel</a> and the second is the newer <a href="https://redis.io/topics/cluster-tutorial">Redis Clustering</a> feature.
|
|
4130
|
+
<p><a href="https://redis.io/">Redis</a> provides two different methods to achieve high availability: The first is <a href="https://redis.io/topics/sentinel">Redis Sentinel</a> and the second is the newer <a href="https://redis.io/topics/cluster-tutorial">Redis Clustering</a> feature. Currently, Nautobot only supports Redis Sentinel for high availability.</p>
|
|
2973
4131
|
<h3 id="using-redis-sentinel">Using Redis Sentinel<a class="headerlink" href="#using-redis-sentinel" title="Permanent link">¶</a></h3>
|
|
2974
4132
|
<p>The installation/configuration of the <a href="https://redis.io/topics/sentinel">Redis Sentinel</a> cluster itself is outside the scope of this document, this section is intended to provide the steps necessary to configure Nautobot to connect to a Sentinel cluster.</p>
|
|
2975
|
-
<p>We need to configure <code>django-redis</code
|
|
4133
|
+
<p>We need to configure <code>django-redis</code> and <code>celery</code> to use Sentinel. Each library is configured differently, so please pay close attention to the details.</p>
|
|
2976
4134
|
<h4 id="django-redis-sentinel-configuration"><code>django-redis</code> Sentinel Configuration<a class="headerlink" href="#django-redis-sentinel-configuration" title="Permanent link">¶</a></h4>
|
|
2977
4135
|
<p>Notable settings:</p>
|
|
2978
4136
|
<ul>
|
|
@@ -2983,63 +4141,28 @@ of the Redis server and port for each sentinel instance to connect to</li>
|
|
|
2983
4141
|
<li><code>PASSWORD</code>: The redis password (if set), the <code>SENTINEL_KWARGS["password"]</code> setting is the password for Sentinel</li>
|
|
2984
4142
|
</ul>
|
|
2985
4143
|
<p>Example:</p>
|
|
2986
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
2987
|
-
<a id="__codelineno-
|
|
2988
|
-
<a id="__codelineno-
|
|
2989
|
-
<a id="__codelineno-
|
|
2990
|
-
<a id="__codelineno-
|
|
2991
|
-
<a id="__codelineno-
|
|
2992
|
-
<a id="__codelineno-
|
|
2993
|
-
<a id="__codelineno-
|
|
2994
|
-
<a id="__codelineno-
|
|
2995
|
-
<a id="__codelineno-
|
|
2996
|
-
<a id="__codelineno-
|
|
2997
|
-
<a id="__codelineno-
|
|
2998
|
-
<a id="__codelineno-
|
|
2999
|
-
<a id="__codelineno-
|
|
3000
|
-
<a id="__codelineno-
|
|
3001
|
-
<a id="__codelineno-
|
|
3002
|
-
<a id="__codelineno-
|
|
3003
|
-
<a id="__codelineno-
|
|
3004
|
-
<a id="__codelineno-
|
|
3005
|
-
<a id="__codelineno-
|
|
4144
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="n">DJANGO_REDIS_CONNECTION_FACTORY</span> <span class="o">=</span> <span class="s2">"django_redis.pool.SentinelConnectionFactory"</span>
|
|
4145
|
+
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="n">CACHES</span> <span class="o">=</span> <span class="p">{</span>
|
|
4146
|
+
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a> <span class="s2">"default"</span><span class="p">:</span> <span class="p">{</span>
|
|
4147
|
+
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a> <span class="s2">"BACKEND"</span><span class="p">:</span> <span class="s2">"django_redis.cache.RedisCache"</span><span class="p">,</span>
|
|
4148
|
+
<a id="__codelineno-0-5" name="__codelineno-0-5" href="#__codelineno-0-5"></a> <span class="s2">"LOCATION"</span><span class="p">:</span> <span class="s2">"redis://nautobot/0"</span><span class="p">,</span> <span class="c1"># in this context 'nautobot' is the redis master/service name</span>
|
|
4149
|
+
<a id="__codelineno-0-6" name="__codelineno-0-6" href="#__codelineno-0-6"></a> <span class="s2">"OPTIONS"</span><span class="p">:</span> <span class="p">{</span>
|
|
4150
|
+
<a id="__codelineno-0-7" name="__codelineno-0-7" href="#__codelineno-0-7"></a> <span class="s2">"CLIENT_CLASS"</span><span class="p">:</span> <span class="s2">"django_redis.client.SentinelClient"</span><span class="p">,</span>
|
|
4151
|
+
<a id="__codelineno-0-8" name="__codelineno-0-8" href="#__codelineno-0-8"></a> <span class="s2">"CONNECTION_POOL_CLASS"</span><span class="p">:</span> <span class="s2">"redis.sentinel.SentinelConnectionPool"</span><span class="p">,</span>
|
|
4152
|
+
<a id="__codelineno-0-9" name="__codelineno-0-9" href="#__codelineno-0-9"></a> <span class="s2">"PASSWORD"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
|
|
4153
|
+
<a id="__codelineno-0-10" name="__codelineno-0-10" href="#__codelineno-0-10"></a> <span class="s2">"SENTINEL_KWARGS"</span><span class="p">:</span> <span class="p">{</span>
|
|
4154
|
+
<a id="__codelineno-0-11" name="__codelineno-0-11" href="#__codelineno-0-11"></a> <span class="s2">"password"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span> <span class="c1"># likely the same password from above</span>
|
|
4155
|
+
<a id="__codelineno-0-12" name="__codelineno-0-12" href="#__codelineno-0-12"></a> <span class="p">},</span>
|
|
4156
|
+
<a id="__codelineno-0-13" name="__codelineno-0-13" href="#__codelineno-0-13"></a> <span class="s2">"SENTINELS"</span><span class="p">:</span> <span class="p">[</span>
|
|
4157
|
+
<a id="__codelineno-0-14" name="__codelineno-0-14" href="#__codelineno-0-14"></a> <span class="p">(</span><span class="s2">"mysentinel.redis.example.com"</span><span class="p">,</span> <span class="mi">26379</span><span class="p">),</span>
|
|
4158
|
+
<a id="__codelineno-0-15" name="__codelineno-0-15" href="#__codelineno-0-15"></a> <span class="p">(</span><span class="s2">"othersentinel.redis.example.com"</span><span class="p">,</span> <span class="mi">26379</span><span class="p">),</span>
|
|
4159
|
+
<a id="__codelineno-0-16" name="__codelineno-0-16" href="#__codelineno-0-16"></a> <span class="p">(</span><span class="s2">"thirdsentinel.redis.example.com"</span><span class="p">,</span> <span class="mi">26379</span><span class="p">)</span>
|
|
4160
|
+
<a id="__codelineno-0-17" name="__codelineno-0-17" href="#__codelineno-0-17"></a> <span class="p">],</span>
|
|
4161
|
+
<a id="__codelineno-0-18" name="__codelineno-0-18" href="#__codelineno-0-18"></a> <span class="p">},</span>
|
|
4162
|
+
<a id="__codelineno-0-19" name="__codelineno-0-19" href="#__codelineno-0-19"></a> <span class="p">},</span>
|
|
4163
|
+
<a id="__codelineno-0-20" name="__codelineno-0-20" href="#__codelineno-0-20"></a><span class="p">}</span>
|
|
3006
4164
|
</code></pre></div>
|
|
3007
4165
|
<p>For more details on configuring django-redis with Redis Sentinel, please see the documentation for <a href="https://github.com/jazzband/django-redis#use-the-sentinel-connection-factory">Django Redis</a>.</p>
|
|
3008
|
-
<h4 id="django-cacheops-sentinel-configuration"><code>django-cacheops</code> Sentinel Configuration<a class="headerlink" href="#django-cacheops-sentinel-configuration" title="Permanent link">¶</a></h4>
|
|
3009
|
-
<p>Notable settings:</p>
|
|
3010
|
-
<ul>
|
|
3011
|
-
<li><code>locations</code>: List of tuples or tuple of tuples with each inner tuple containing the name or IP address
|
|
3012
|
-
of the Redis server and port for each sentinel instance to connect to</li>
|
|
3013
|
-
<li><code>service_name</code>: the master/service name in redis sentinel</li>
|
|
3014
|
-
<li>Additional parameters may be specified in the <code>CACHEOPS_SENTINEL</code> dictionary which are passed directly to Sentinel</li>
|
|
3015
|
-
</ul>
|
|
3016
|
-
<div class="admonition note">
|
|
3017
|
-
<p class="admonition-title">Note</p>
|
|
3018
|
-
<p><code>locations</code> for <code>django-cacheops</code> has a different meaning than the <code>LOCATION</code> value for <code>django-redis</code></p>
|
|
3019
|
-
</div>
|
|
3020
|
-
<div class="admonition warning">
|
|
3021
|
-
<p class="admonition-title">Warning</p>
|
|
3022
|
-
<p><a href="../configuration/required-settings.html#cacheops_redis"><code>CACHEOPS_REDIS</code></a> and <a href="../configuration/required-settings.html#cacheops_sentinel"><code>CACHEOPS_SENTINEL</code></a> are mutually exclusive and will result in an error if both are set.</p>
|
|
3023
|
-
</div>
|
|
3024
|
-
<p>Example:</p>
|
|
3025
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="n">CACHEOPS_REDIS</span> <span class="o">=</span> <span class="kc">False</span>
|
|
3026
|
-
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="n">CACHEOPS_SENTINEL</span> <span class="o">=</span> <span class="p">{</span>
|
|
3027
|
-
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a> <span class="s2">"db"</span><span class="p">:</span> <span class="mi">1</span><span class="p">,</span>
|
|
3028
|
-
<a id="__codelineno-4-4" name="__codelineno-4-4" href="#__codelineno-4-4"></a> <span class="s2">"locations"</span><span class="p">:</span> <span class="p">[</span>
|
|
3029
|
-
<a id="__codelineno-4-5" name="__codelineno-4-5" href="#__codelineno-4-5"></a> <span class="p">(</span><span class="s2">"mysentinel.redis.example.com"</span><span class="p">,</span> <span class="mi">26379</span><span class="p">),</span>
|
|
3030
|
-
<a id="__codelineno-4-6" name="__codelineno-4-6" href="#__codelineno-4-6"></a> <span class="p">(</span><span class="s2">"othersentinel.redis.example.com"</span><span class="p">,</span> <span class="mi">26379</span><span class="p">),</span>
|
|
3031
|
-
<a id="__codelineno-4-7" name="__codelineno-4-7" href="#__codelineno-4-7"></a> <span class="p">(</span><span class="s2">"thirdsentinel.redis.example.com"</span><span class="p">,</span> <span class="mi">26379</span><span class="p">)</span>
|
|
3032
|
-
<a id="__codelineno-4-8" name="__codelineno-4-8" href="#__codelineno-4-8"></a> <span class="p">],</span>
|
|
3033
|
-
<a id="__codelineno-4-9" name="__codelineno-4-9" href="#__codelineno-4-9"></a> <span class="s2">"service_name"</span><span class="p">:</span> <span class="s2">"nautobot"</span><span class="p">,</span>
|
|
3034
|
-
<a id="__codelineno-4-10" name="__codelineno-4-10" href="#__codelineno-4-10"></a> <span class="s2">"socket_timeout"</span><span class="p">:</span> <span class="mi">10</span><span class="p">,</span>
|
|
3035
|
-
<a id="__codelineno-4-11" name="__codelineno-4-11" href="#__codelineno-4-11"></a> <span class="s2">"sentinel_kwargs"</span><span class="p">:</span> <span class="p">{</span>
|
|
3036
|
-
<a id="__codelineno-4-12" name="__codelineno-4-12" href="#__codelineno-4-12"></a> <span class="s2">"password"</span><span class="p">:</span> <span class="s2">""</span>
|
|
3037
|
-
<a id="__codelineno-4-13" name="__codelineno-4-13" href="#__codelineno-4-13"></a> <span class="p">},</span>
|
|
3038
|
-
<a id="__codelineno-4-14" name="__codelineno-4-14" href="#__codelineno-4-14"></a> <span class="s2">"password"</span><span class="p">:</span> <span class="s2">""</span><span class="p">,</span>
|
|
3039
|
-
<a id="__codelineno-4-15" name="__codelineno-4-15" href="#__codelineno-4-15"></a> <span class="c1"># Everything else is passed to `Sentinel()`</span>
|
|
3040
|
-
<a id="__codelineno-4-16" name="__codelineno-4-16" href="#__codelineno-4-16"></a><span class="p">}</span>
|
|
3041
|
-
</code></pre></div>
|
|
3042
|
-
<p>For more details on how to configure Cacheops to use Redis Sentinel see the documentation for <a href="https://github.com/Suor/django-cacheops#setup">Cacheops setup</a>.</p>
|
|
3043
4166
|
<h4 id="celery-sentinel-configuration"><code>celery</code> Sentinel Configuration<a class="headerlink" href="#celery-sentinel-configuration" title="Permanent link">¶</a></h4>
|
|
3044
4167
|
<div class="admonition note">
|
|
3045
4168
|
<p class="admonition-title">Note</p>
|
|
@@ -3053,22 +4176,22 @@ of the Redis server and port for each sentinel instance to connect to</li>
|
|
|
3053
4176
|
<li><a href="../configuration/optional-settings.html#celery_result_backend_transport_options"><code>CELERY_RESULT_BACKEND_TRANSPORT_OPTIONS</code></a></li>
|
|
3054
4177
|
</ul>
|
|
3055
4178
|
<p>By default Nautobot configures the celery broker and results backend with the same settings, so this pattern is mirrored here.</p>
|
|
3056
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3057
|
-
<a id="__codelineno-
|
|
3058
|
-
<a id="__codelineno-
|
|
3059
|
-
<a id="__codelineno-
|
|
3060
|
-
<a id="__codelineno-
|
|
3061
|
-
<a id="__codelineno-
|
|
3062
|
-
<a id="__codelineno-
|
|
3063
|
-
<a id="__codelineno-
|
|
3064
|
-
<a id="__codelineno-
|
|
3065
|
-
<a id="__codelineno-
|
|
3066
|
-
<a id="__codelineno-
|
|
3067
|
-
<a id="__codelineno-
|
|
3068
|
-
<a id="__codelineno-
|
|
3069
|
-
<a id="__codelineno-
|
|
3070
|
-
<a id="__codelineno-
|
|
3071
|
-
<a id="__codelineno-
|
|
4179
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a><span class="n">redis_password</span> <span class="o">=</span> <span class="s2">""</span>
|
|
4180
|
+
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a><span class="n">sentinel_password</span> <span class="o">=</span> <span class="s2">""</span>
|
|
4181
|
+
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>
|
|
4182
|
+
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a><span class="n">CELERY_BROKER_URL</span> <span class="o">=</span> <span class="p">(</span>
|
|
4183
|
+
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a> <span class="sa">f</span><span class="s2">"sentinel://:</span><span class="si">{</span><span class="n">redis_password</span><span class="si">}</span><span class="s2">@mysentinel.redis.example.com:26379;"</span>
|
|
4184
|
+
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a> <span class="sa">f</span><span class="s2">"sentinel://:</span><span class="si">{</span><span class="n">redis_password</span><span class="si">}</span><span class="s2">@othersentinel.redis.example.com:26379;"</span>
|
|
4185
|
+
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a> <span class="c1"># The final entry must not have the `;` delimiter</span>
|
|
4186
|
+
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a> <span class="sa">f</span><span class="s2">"sentinel://:</span><span class="si">{</span><span class="n">redis_password</span><span class="si">}</span><span class="s2">@thirdsentinel.redis.example.com:26379"</span>
|
|
4187
|
+
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a><span class="p">)</span>
|
|
4188
|
+
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a><span class="n">CELERY_BROKER_TRANSPORT_OPTIONS</span> <span class="o">=</span> <span class="p">{</span>
|
|
4189
|
+
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a> <span class="s2">"master_name"</span><span class="p">:</span> <span class="s2">"nautobot"</span><span class="p">,</span>
|
|
4190
|
+
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a> <span class="s2">"sentinel_kwargs"</span><span class="p">:</span> <span class="p">{</span><span class="s2">"password"</span><span class="p">:</span> <span class="n">sentinel_password</span><span class="p">},</span>
|
|
4191
|
+
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a><span class="p">}</span>
|
|
4192
|
+
<a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a>
|
|
4193
|
+
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a><span class="n">CELERY_RESULT_BACKEND</span> <span class="o">=</span> <span class="n">CELERY_BROKER_URL</span>
|
|
4194
|
+
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a><span class="n">CELERY_RESULT_BACKEND_TRANSPORT_OPTIONS</span> <span class="o">=</span> <span class="n">CELERY_BROKER_TRANSPORT_OPTIONS</span>
|
|
3072
4195
|
</code></pre></div>
|
|
3073
4196
|
<p>Please see the official Celery documentation for more information on how to <a href="https://docs.celeryq.dev/en/stable/getting-started/backends-and-brokers/redis.html?highlight=sentinel#configuration">configure Celery to use Redis Sentinel</a>.</p>
|
|
3074
4197
|
<p>Please also see the <a href="../configuration/required-settings.html#task-queuing-with-celery">Nautobot documentation on required settings for Celery</a> for additional information.</p>
|
|
@@ -3088,42 +4211,6 @@ of the Redis server and port for each sentinel instance to connect to</li>
|
|
|
3088
4211
|
|
|
3089
4212
|
<footer class="md-footer">
|
|
3090
4213
|
|
|
3091
|
-
|
|
3092
|
-
<nav class="md-footer__inner md-grid" aria-label="Footer" >
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
<a href="../core-functionality/vlans.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: VLAN Management" rel="prev">
|
|
3096
|
-
<div class="md-footer__button md-icon">
|
|
3097
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
|
3098
|
-
</div>
|
|
3099
|
-
<div class="md-footer__title">
|
|
3100
|
-
<div class="md-ellipsis">
|
|
3101
|
-
<span class="md-footer__direction">
|
|
3102
|
-
Previous
|
|
3103
|
-
</span>
|
|
3104
|
-
VLAN Management
|
|
3105
|
-
</div>
|
|
3106
|
-
</div>
|
|
3107
|
-
</a>
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
<a href="change-logging.html" class="md-footer__link md-footer__link--next" aria-label="Next: Change Logging" rel="next">
|
|
3112
|
-
<div class="md-footer__title">
|
|
3113
|
-
<div class="md-ellipsis">
|
|
3114
|
-
<span class="md-footer__direction">
|
|
3115
|
-
Next
|
|
3116
|
-
</span>
|
|
3117
|
-
Change Logging
|
|
3118
|
-
</div>
|
|
3119
|
-
</div>
|
|
3120
|
-
<div class="md-footer__button md-icon">
|
|
3121
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
|
|
3122
|
-
</div>
|
|
3123
|
-
</a>
|
|
3124
|
-
|
|
3125
|
-
</nav>
|
|
3126
|
-
|
|
3127
4214
|
<div class="md-footer-meta md-typeset">
|
|
3128
4215
|
<div class="md-footer-meta__inner md-grid">
|
|
3129
4216
|
<div class="md-copyright">
|
|
@@ -3151,32 +4238,42 @@ of the Redis server and port for each sentinel instance to connect to</li>
|
|
|
3151
4238
|
|
|
3152
4239
|
|
|
3153
4240
|
|
|
4241
|
+
|
|
4242
|
+
|
|
3154
4243
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
3155
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.
|
|
4244
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zm0 352a64 64 0 1 1 128 0 64 64 0 1 1-128 0zm32-256c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
|
|
3156
4245
|
</a>
|
|
3157
4246
|
|
|
3158
4247
|
|
|
3159
4248
|
|
|
4249
|
+
|
|
4250
|
+
|
|
3160
4251
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
3161
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.
|
|
4252
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"/></svg>
|
|
3162
4253
|
</a>
|
|
3163
4254
|
|
|
3164
4255
|
|
|
3165
4256
|
|
|
4257
|
+
|
|
4258
|
+
|
|
3166
4259
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
3167
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.
|
|
4260
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M94.12 315.1c0 25.9-21.16 47.06-47.06 47.06S0 341 0 315.1c0-25.9 21.16-47.06 47.06-47.06h47.06v47.06zm23.72 0c0-25.9 21.16-47.06 47.06-47.06s47.06 21.16 47.06 47.06v117.84c0 25.9-21.16 47.06-47.06 47.06s-47.06-21.16-47.06-47.06V315.1zm47.06-188.98c-25.9 0-47.06-21.16-47.06-47.06S139 32 164.9 32s47.06 21.16 47.06 47.06v47.06H164.9zm0 23.72c25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06H47.06C21.16 243.96 0 222.8 0 196.9s21.16-47.06 47.06-47.06H164.9zm188.98 47.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06s-21.16 47.06-47.06 47.06h-47.06V196.9zm-23.72 0c0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06V79.06c0-25.9 21.16-47.06 47.06-47.06 25.9 0 47.06 21.16 47.06 47.06V196.9zM283.1 385.88c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06-25.9 0-47.06-21.16-47.06-47.06v-47.06h47.06zm0-23.72c-25.9 0-47.06-21.16-47.06-47.06 0-25.9 21.16-47.06 47.06-47.06h117.84c25.9 0 47.06 21.16 47.06 47.06 0 25.9-21.16 47.06-47.06 47.06H283.1z"/></svg>
|
|
3168
4261
|
</a>
|
|
3169
4262
|
|
|
3170
4263
|
|
|
3171
4264
|
|
|
4265
|
+
|
|
4266
|
+
|
|
3172
4267
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
3173
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.
|
|
4268
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
|
3174
4269
|
</a>
|
|
3175
4270
|
|
|
3176
4271
|
|
|
3177
4272
|
|
|
4273
|
+
|
|
4274
|
+
|
|
3178
4275
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
3179
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.
|
|
4276
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
|
|
3180
4277
|
</a>
|
|
3181
4278
|
|
|
3182
4279
|
</div>
|
|
@@ -3190,14 +4287,13 @@ of the Redis server and port for each sentinel instance to connect to</li>
|
|
|
3190
4287
|
<div class="md-dialog__inner md-typeset"></div>
|
|
3191
4288
|
</div>
|
|
3192
4289
|
|
|
3193
|
-
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "search.suggest", "search.highlight", "search.share"], "search": "../assets/javascripts/workers/search.
|
|
4290
|
+
<script id="__config" type="application/json">{"base": "..", "features": ["navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "search.suggest", "search.highlight", "search.share"], "search": "../assets/javascripts/workers/search.208ed371.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>
|
|
3194
4291
|
|
|
3195
4292
|
|
|
3196
|
-
<script src="../assets/javascripts/bundle.
|
|
4293
|
+
<script src="../assets/javascripts/bundle.51198bba.min.js"></script>
|
|
3197
4294
|
|
|
3198
4295
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
3199
4296
|
|
|
3200
4297
|
|
|
3201
|
-
|
|
3202
4298
|
</body>
|
|
3203
4299
|
</html>
|