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/development/getting-started.html">
|
|
12
12
|
|
|
13
|
+
|
|
14
|
+
<link rel="prev" href="index.html">
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<link rel="next" href="docker-compose-advanced-use-cases.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
|
|
@@ -387,17 +388,18 @@
|
|
|
387
388
|
<li class="md-nav__item md-nav__item--nested">
|
|
388
389
|
|
|
389
390
|
|
|
390
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
|
|
391
391
|
|
|
392
392
|
|
|
393
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
|
|
394
|
+
|
|
393
395
|
|
|
394
396
|
|
|
395
|
-
<label class="md-nav__link" for="__nav_2">
|
|
397
|
+
<label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
|
|
396
398
|
Documentation
|
|
397
399
|
<span class="md-nav__icon md-icon"></span>
|
|
398
400
|
</label>
|
|
399
401
|
|
|
400
|
-
<nav class="md-nav" aria-
|
|
402
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
|
|
401
403
|
<label class="md-nav__title" for="__nav_2">
|
|
402
404
|
<span class="md-nav__icon md-icon"></span>
|
|
403
405
|
Documentation
|
|
@@ -413,17 +415,18 @@
|
|
|
413
415
|
<li class="md-nav__item md-nav__item--nested">
|
|
414
416
|
|
|
415
417
|
|
|
416
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_1" type="checkbox" id="__nav_2_1" >
|
|
417
418
|
|
|
418
419
|
|
|
420
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_1" >
|
|
419
421
|
|
|
420
422
|
|
|
421
|
-
|
|
423
|
+
|
|
424
|
+
<label class="md-nav__link" for="__nav_2_1" id="__nav_2_1_label" tabindex="0">
|
|
422
425
|
Installation
|
|
423
426
|
<span class="md-nav__icon md-icon"></span>
|
|
424
427
|
</label>
|
|
425
428
|
|
|
426
|
-
<nav class="md-nav" aria-
|
|
429
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_1_label" aria-expanded="false">
|
|
427
430
|
<label class="md-nav__title" for="__nav_2_1">
|
|
428
431
|
<span class="md-nav__icon md-icon"></span>
|
|
429
432
|
Installation
|
|
@@ -530,17 +533,18 @@
|
|
|
530
533
|
<li class="md-nav__item md-nav__item--nested">
|
|
531
534
|
|
|
532
535
|
|
|
533
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_2" type="checkbox" id="__nav_2_2" >
|
|
534
536
|
|
|
535
537
|
|
|
538
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_2" >
|
|
539
|
+
|
|
536
540
|
|
|
537
541
|
|
|
538
|
-
<label class="md-nav__link" for="__nav_2_2">
|
|
542
|
+
<label class="md-nav__link" for="__nav_2_2" id="__nav_2_2_label" tabindex="0">
|
|
539
543
|
Migration
|
|
540
544
|
<span class="md-nav__icon md-icon"></span>
|
|
541
545
|
</label>
|
|
542
546
|
|
|
543
|
-
<nav class="md-nav" aria-
|
|
547
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_2_label" aria-expanded="false">
|
|
544
548
|
<label class="md-nav__title" for="__nav_2_2">
|
|
545
549
|
<span class="md-nav__icon md-icon"></span>
|
|
546
550
|
Migration
|
|
@@ -633,17 +637,18 @@
|
|
|
633
637
|
<li class="md-nav__item md-nav__item--nested">
|
|
634
638
|
|
|
635
639
|
|
|
636
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_3" type="checkbox" id="__nav_2_3" >
|
|
637
640
|
|
|
638
641
|
|
|
642
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_3" >
|
|
639
643
|
|
|
640
644
|
|
|
641
|
-
|
|
645
|
+
|
|
646
|
+
<label class="md-nav__link" for="__nav_2_3" id="__nav_2_3_label" tabindex="0">
|
|
642
647
|
Configuration
|
|
643
648
|
<span class="md-nav__icon md-icon"></span>
|
|
644
649
|
</label>
|
|
645
650
|
|
|
646
|
-
<nav class="md-nav" aria-
|
|
651
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_3_label" aria-expanded="false">
|
|
647
652
|
<label class="md-nav__title" for="__nav_2_3">
|
|
648
653
|
<span class="md-nav__icon md-icon"></span>
|
|
649
654
|
Configuration
|
|
@@ -708,17 +713,18 @@
|
|
|
708
713
|
<li class="md-nav__item md-nav__item--nested">
|
|
709
714
|
|
|
710
715
|
|
|
711
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_4" type="checkbox" id="__nav_2_4" >
|
|
712
716
|
|
|
713
717
|
|
|
718
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_4" >
|
|
719
|
+
|
|
714
720
|
|
|
715
721
|
|
|
716
|
-
<label class="md-nav__link" for="__nav_2_4">
|
|
722
|
+
<label class="md-nav__link" for="__nav_2_4" id="__nav_2_4_label" tabindex="0">
|
|
717
723
|
External Authentication
|
|
718
724
|
<span class="md-nav__icon md-icon"></span>
|
|
719
725
|
</label>
|
|
720
726
|
|
|
721
|
-
<nav class="md-nav"
|
|
727
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_4_label" aria-expanded="false">
|
|
722
728
|
<label class="md-nav__title" for="__nav_2_4">
|
|
723
729
|
<span class="md-nav__icon md-icon"></span>
|
|
724
730
|
External Authentication
|
|
@@ -783,17 +789,18 @@
|
|
|
783
789
|
<li class="md-nav__item md-nav__item--nested">
|
|
784
790
|
|
|
785
791
|
|
|
786
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
|
|
787
792
|
|
|
788
793
|
|
|
794
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_5" >
|
|
789
795
|
|
|
790
796
|
|
|
791
|
-
|
|
797
|
+
|
|
798
|
+
<label class="md-nav__link" for="__nav_2_5" id="__nav_2_5_label" tabindex="0">
|
|
792
799
|
Administration
|
|
793
800
|
<span class="md-nav__icon md-icon"></span>
|
|
794
801
|
</label>
|
|
795
802
|
|
|
796
|
-
<nav class="md-nav" aria-
|
|
803
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_5_label" aria-expanded="false">
|
|
797
804
|
<label class="md-nav__title" for="__nav_2_5">
|
|
798
805
|
<span class="md-nav__icon md-icon"></span>
|
|
799
806
|
Administration
|
|
@@ -886,17 +893,18 @@
|
|
|
886
893
|
<li class="md-nav__item md-nav__item--nested">
|
|
887
894
|
|
|
888
895
|
|
|
889
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_6" type="checkbox" id="__nav_2_6" >
|
|
890
896
|
|
|
891
897
|
|
|
898
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6" >
|
|
899
|
+
|
|
892
900
|
|
|
893
901
|
|
|
894
|
-
<label class="md-nav__link" for="__nav_2_6">
|
|
902
|
+
<label class="md-nav__link" for="__nav_2_6" id="__nav_2_6_label" tabindex="0">
|
|
895
903
|
User Guides
|
|
896
904
|
<span class="md-nav__icon md-icon"></span>
|
|
897
905
|
</label>
|
|
898
906
|
|
|
899
|
-
<nav class="md-nav"
|
|
907
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false">
|
|
900
908
|
<label class="md-nav__title" for="__nav_2_6">
|
|
901
909
|
<span class="md-nav__icon md-icon"></span>
|
|
902
910
|
User Guides
|
|
@@ -1105,8 +1113,1177 @@
|
|
|
1105
1113
|
|
|
1106
1114
|
|
|
1107
1115
|
<li class="md-nav__item">
|
|
1108
|
-
<a href="../user-guides/s3-django-storage.html" class="md-nav__link">
|
|
1109
|
-
Django Storages with S3
|
|
1116
|
+
<a href="../user-guides/s3-django-storage.html" class="md-nav__link">
|
|
1117
|
+
Django Storages with S3
|
|
1118
|
+
</a>
|
|
1119
|
+
</li>
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
|
|
1123
|
+
|
|
1124
|
+
|
|
1125
|
+
|
|
1126
|
+
|
|
1127
|
+
|
|
1128
|
+
|
|
1129
|
+
<li class="md-nav__item">
|
|
1130
|
+
<a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
|
|
1131
|
+
VLANS and VLAN Groups
|
|
1132
|
+
</a>
|
|
1133
|
+
</li>
|
|
1134
|
+
|
|
1135
|
+
|
|
1136
|
+
|
|
1137
|
+
|
|
1138
|
+
</ul>
|
|
1139
|
+
</nav>
|
|
1140
|
+
</li>
|
|
1141
|
+
|
|
1142
|
+
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1152
|
+
|
|
1153
|
+
|
|
1154
|
+
|
|
1155
|
+
|
|
1156
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
|
|
1157
|
+
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
<label class="md-nav__link" for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
|
|
1161
|
+
Core Functionality
|
|
1162
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1163
|
+
</label>
|
|
1164
|
+
|
|
1165
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
|
|
1166
|
+
<label class="md-nav__title" for="__nav_2_7">
|
|
1167
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1168
|
+
Core Functionality
|
|
1169
|
+
</label>
|
|
1170
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1171
|
+
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
<li class="md-nav__item">
|
|
1178
|
+
<a href="../core-functionality/circuits.html" class="md-nav__link">
|
|
1179
|
+
Circuits
|
|
1180
|
+
</a>
|
|
1181
|
+
</li>
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
|
|
1191
|
+
<li class="md-nav__item">
|
|
1192
|
+
<a href="../core-functionality/devices.html" class="md-nav__link">
|
|
1193
|
+
Devices and Cabling
|
|
1194
|
+
</a>
|
|
1195
|
+
</li>
|
|
1196
|
+
|
|
1197
|
+
|
|
1198
|
+
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
|
|
1205
|
+
<li class="md-nav__item">
|
|
1206
|
+
<a href="../core-functionality/device-types.html" class="md-nav__link">
|
|
1207
|
+
Device Types
|
|
1208
|
+
</a>
|
|
1209
|
+
</li>
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
|
|
1213
|
+
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
|
|
1218
|
+
|
|
1219
|
+
<li class="md-nav__item">
|
|
1220
|
+
<a href="../core-functionality/ipam.html" class="md-nav__link">
|
|
1221
|
+
IP Address Management
|
|
1222
|
+
</a>
|
|
1223
|
+
</li>
|
|
1224
|
+
|
|
1225
|
+
|
|
1226
|
+
|
|
1227
|
+
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
|
|
1233
|
+
<li class="md-nav__item">
|
|
1234
|
+
<a href="../core-functionality/power.html" class="md-nav__link">
|
|
1235
|
+
Power Tracking
|
|
1236
|
+
</a>
|
|
1237
|
+
</li>
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
|
|
1244
|
+
|
|
1245
|
+
|
|
1246
|
+
|
|
1247
|
+
<li class="md-nav__item">
|
|
1248
|
+
<a href="../core-functionality/secrets.html" class="md-nav__link">
|
|
1249
|
+
Secrets
|
|
1250
|
+
</a>
|
|
1251
|
+
</li>
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
|
|
1261
|
+
<li class="md-nav__item">
|
|
1262
|
+
<a href="../core-functionality/services.html" class="md-nav__link">
|
|
1263
|
+
Service Mapping
|
|
1264
|
+
</a>
|
|
1265
|
+
</li>
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
|
|
1270
|
+
|
|
1271
|
+
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
|
|
1275
|
+
<li class="md-nav__item">
|
|
1276
|
+
<a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
|
|
1277
|
+
Sites, Locations, and Racks
|
|
1278
|
+
</a>
|
|
1279
|
+
</li>
|
|
1280
|
+
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1285
|
+
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
|
|
1289
|
+
<li class="md-nav__item">
|
|
1290
|
+
<a href="../core-functionality/tenancy.html" class="md-nav__link">
|
|
1291
|
+
Tenancy
|
|
1292
|
+
</a>
|
|
1293
|
+
</li>
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
|
|
1297
|
+
|
|
1298
|
+
|
|
1299
|
+
|
|
1300
|
+
|
|
1301
|
+
|
|
1302
|
+
|
|
1303
|
+
<li class="md-nav__item">
|
|
1304
|
+
<a href="../core-functionality/virtualization.html" class="md-nav__link">
|
|
1305
|
+
Virtualization
|
|
1306
|
+
</a>
|
|
1307
|
+
</li>
|
|
1308
|
+
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
|
|
1316
|
+
|
|
1317
|
+
<li class="md-nav__item">
|
|
1318
|
+
<a href="../core-functionality/vlans.html" class="md-nav__link">
|
|
1319
|
+
VLAN Management
|
|
1320
|
+
</a>
|
|
1321
|
+
</li>
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
</ul>
|
|
1327
|
+
</nav>
|
|
1328
|
+
</li>
|
|
1329
|
+
|
|
1330
|
+
|
|
1331
|
+
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1340
|
+
|
|
1341
|
+
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8" >
|
|
1345
|
+
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
<label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex="0">
|
|
1349
|
+
Model Details
|
|
1350
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1351
|
+
</label>
|
|
1352
|
+
|
|
1353
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
|
|
1354
|
+
<label class="md-nav__title" for="__nav_2_8">
|
|
1355
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1356
|
+
Model Details
|
|
1357
|
+
</label>
|
|
1358
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1359
|
+
|
|
1360
|
+
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1367
|
+
|
|
1368
|
+
|
|
1369
|
+
|
|
1370
|
+
|
|
1371
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_1" >
|
|
1372
|
+
|
|
1373
|
+
|
|
1374
|
+
|
|
1375
|
+
<label class="md-nav__link" for="__nav_2_8_1" id="__nav_2_8_1_label" tabindex="0">
|
|
1376
|
+
Circuits
|
|
1377
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1378
|
+
</label>
|
|
1379
|
+
|
|
1380
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_1_label" aria-expanded="false">
|
|
1381
|
+
<label class="md-nav__title" for="__nav_2_8_1">
|
|
1382
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1383
|
+
Circuits
|
|
1384
|
+
</label>
|
|
1385
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
|
|
1392
|
+
<li class="md-nav__item">
|
|
1393
|
+
<a href="../models/circuits/circuit.html" class="md-nav__link">
|
|
1394
|
+
Circuit
|
|
1395
|
+
</a>
|
|
1396
|
+
</li>
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
<li class="md-nav__item">
|
|
1407
|
+
<a href="../models/circuits/circuittermination.html" class="md-nav__link">
|
|
1408
|
+
Circuit Termination
|
|
1409
|
+
</a>
|
|
1410
|
+
</li>
|
|
1411
|
+
|
|
1412
|
+
|
|
1413
|
+
|
|
1414
|
+
|
|
1415
|
+
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
|
|
1419
|
+
|
|
1420
|
+
<li class="md-nav__item">
|
|
1421
|
+
<a href="../models/circuits/circuittype.html" class="md-nav__link">
|
|
1422
|
+
Circuit Type
|
|
1423
|
+
</a>
|
|
1424
|
+
</li>
|
|
1425
|
+
|
|
1426
|
+
|
|
1427
|
+
|
|
1428
|
+
|
|
1429
|
+
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
|
|
1434
|
+
<li class="md-nav__item">
|
|
1435
|
+
<a href="../models/circuits/provider.html" class="md-nav__link">
|
|
1436
|
+
Circuit Provider
|
|
1437
|
+
</a>
|
|
1438
|
+
</li>
|
|
1439
|
+
|
|
1440
|
+
|
|
1441
|
+
|
|
1442
|
+
|
|
1443
|
+
|
|
1444
|
+
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
<li class="md-nav__item">
|
|
1449
|
+
<a href="../models/circuits/providernetwork.html" class="md-nav__link">
|
|
1450
|
+
Circuit Provider Network
|
|
1451
|
+
</a>
|
|
1452
|
+
</li>
|
|
1453
|
+
|
|
1454
|
+
|
|
1455
|
+
|
|
1456
|
+
|
|
1457
|
+
</ul>
|
|
1458
|
+
</nav>
|
|
1459
|
+
</li>
|
|
1460
|
+
|
|
1461
|
+
|
|
1462
|
+
|
|
1463
|
+
|
|
1464
|
+
|
|
1465
|
+
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
|
|
1469
|
+
|
|
1470
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1471
|
+
|
|
1472
|
+
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_2" >
|
|
1476
|
+
|
|
1477
|
+
|
|
1478
|
+
|
|
1479
|
+
<label class="md-nav__link" for="__nav_2_8_2" id="__nav_2_8_2_label" tabindex="0">
|
|
1480
|
+
DCIM
|
|
1481
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1482
|
+
</label>
|
|
1483
|
+
|
|
1484
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_2_label" aria-expanded="false">
|
|
1485
|
+
<label class="md-nav__title" for="__nav_2_8_2">
|
|
1486
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1487
|
+
DCIM
|
|
1488
|
+
</label>
|
|
1489
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1490
|
+
|
|
1491
|
+
|
|
1492
|
+
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
|
|
1496
|
+
<li class="md-nav__item">
|
|
1497
|
+
<a href="../models/dcim/cable.html" class="md-nav__link">
|
|
1498
|
+
Cable
|
|
1499
|
+
</a>
|
|
1500
|
+
</li>
|
|
1501
|
+
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
|
|
1505
|
+
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
<li class="md-nav__item">
|
|
1511
|
+
<a href="../models/dcim/consoleport.html" class="md-nav__link">
|
|
1512
|
+
Console Port
|
|
1513
|
+
</a>
|
|
1514
|
+
</li>
|
|
1515
|
+
|
|
1516
|
+
|
|
1517
|
+
|
|
1518
|
+
|
|
1519
|
+
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
|
|
1524
|
+
<li class="md-nav__item">
|
|
1525
|
+
<a href="../models/dcim/consoleporttemplate.html" class="md-nav__link">
|
|
1526
|
+
Console Port Template
|
|
1527
|
+
</a>
|
|
1528
|
+
</li>
|
|
1529
|
+
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
|
|
1533
|
+
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
<li class="md-nav__item">
|
|
1539
|
+
<a href="../models/dcim/consoleserverport.html" class="md-nav__link">
|
|
1540
|
+
Console Server Port
|
|
1541
|
+
</a>
|
|
1542
|
+
</li>
|
|
1543
|
+
|
|
1544
|
+
|
|
1545
|
+
|
|
1546
|
+
|
|
1547
|
+
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
<li class="md-nav__item">
|
|
1553
|
+
<a href="../models/dcim/consoleserverporttemplate.html" class="md-nav__link">
|
|
1554
|
+
Console Server Port Template
|
|
1555
|
+
</a>
|
|
1556
|
+
</li>
|
|
1557
|
+
|
|
1558
|
+
|
|
1559
|
+
|
|
1560
|
+
|
|
1561
|
+
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
<li class="md-nav__item">
|
|
1567
|
+
<a href="../models/dcim/device.html" class="md-nav__link">
|
|
1568
|
+
Device
|
|
1569
|
+
</a>
|
|
1570
|
+
</li>
|
|
1571
|
+
|
|
1572
|
+
|
|
1573
|
+
|
|
1574
|
+
|
|
1575
|
+
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
<li class="md-nav__item">
|
|
1581
|
+
<a href="../models/dcim/devicebay.html" class="md-nav__link">
|
|
1582
|
+
Device Bay
|
|
1583
|
+
</a>
|
|
1584
|
+
</li>
|
|
1585
|
+
|
|
1586
|
+
|
|
1587
|
+
|
|
1588
|
+
|
|
1589
|
+
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
<li class="md-nav__item">
|
|
1595
|
+
<a href="../models/dcim/devicebaytemplate.html" class="md-nav__link">
|
|
1596
|
+
Device Bay Template
|
|
1597
|
+
</a>
|
|
1598
|
+
</li>
|
|
1599
|
+
|
|
1600
|
+
|
|
1601
|
+
|
|
1602
|
+
|
|
1603
|
+
|
|
1604
|
+
|
|
1605
|
+
|
|
1606
|
+
|
|
1607
|
+
|
|
1608
|
+
<li class="md-nav__item">
|
|
1609
|
+
<a href="../models/dcim/deviceredundancygroup.html" class="md-nav__link">
|
|
1610
|
+
Device Redundancy Group
|
|
1611
|
+
</a>
|
|
1612
|
+
</li>
|
|
1613
|
+
|
|
1614
|
+
|
|
1615
|
+
|
|
1616
|
+
|
|
1617
|
+
|
|
1618
|
+
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
<li class="md-nav__item">
|
|
1623
|
+
<a href="../models/dcim/devicetype.html" class="md-nav__link">
|
|
1624
|
+
Device Type
|
|
1625
|
+
</a>
|
|
1626
|
+
</li>
|
|
1627
|
+
|
|
1628
|
+
|
|
1629
|
+
|
|
1630
|
+
|
|
1631
|
+
|
|
1632
|
+
|
|
1633
|
+
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
<li class="md-nav__item">
|
|
1637
|
+
<a href="../models/dcim/frontport.html" class="md-nav__link">
|
|
1638
|
+
Front Port
|
|
1639
|
+
</a>
|
|
1640
|
+
</li>
|
|
1641
|
+
|
|
1642
|
+
|
|
1643
|
+
|
|
1644
|
+
|
|
1645
|
+
|
|
1646
|
+
|
|
1647
|
+
|
|
1648
|
+
|
|
1649
|
+
|
|
1650
|
+
<li class="md-nav__item">
|
|
1651
|
+
<a href="../models/dcim/frontporttemplate.html" class="md-nav__link">
|
|
1652
|
+
Front Port Template
|
|
1653
|
+
</a>
|
|
1654
|
+
</li>
|
|
1655
|
+
|
|
1656
|
+
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
|
|
1662
|
+
|
|
1663
|
+
|
|
1664
|
+
<li class="md-nav__item">
|
|
1665
|
+
<a href="../models/dcim/interface.html" class="md-nav__link">
|
|
1666
|
+
Interface
|
|
1667
|
+
</a>
|
|
1668
|
+
</li>
|
|
1669
|
+
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
|
|
1673
|
+
|
|
1674
|
+
|
|
1675
|
+
|
|
1676
|
+
|
|
1677
|
+
|
|
1678
|
+
<li class="md-nav__item">
|
|
1679
|
+
<a href="../models/dcim/interfacetemplate.html" class="md-nav__link">
|
|
1680
|
+
Interface Template
|
|
1681
|
+
</a>
|
|
1682
|
+
</li>
|
|
1683
|
+
|
|
1684
|
+
|
|
1685
|
+
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
|
|
1689
|
+
|
|
1690
|
+
|
|
1691
|
+
|
|
1692
|
+
<li class="md-nav__item">
|
|
1693
|
+
<a href="../models/dcim/inventoryitem.html" class="md-nav__link">
|
|
1694
|
+
Inventory Item
|
|
1695
|
+
</a>
|
|
1696
|
+
</li>
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
|
|
1700
|
+
|
|
1701
|
+
|
|
1702
|
+
|
|
1703
|
+
|
|
1704
|
+
|
|
1705
|
+
|
|
1706
|
+
<li class="md-nav__item">
|
|
1707
|
+
<a href="../models/dcim/location.html" class="md-nav__link">
|
|
1708
|
+
Location
|
|
1709
|
+
</a>
|
|
1710
|
+
</li>
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
|
|
1717
|
+
|
|
1718
|
+
|
|
1719
|
+
|
|
1720
|
+
<li class="md-nav__item">
|
|
1721
|
+
<a href="../models/dcim/locationtype.html" class="md-nav__link">
|
|
1722
|
+
Location Type
|
|
1723
|
+
</a>
|
|
1724
|
+
</li>
|
|
1725
|
+
|
|
1726
|
+
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
|
|
1731
|
+
|
|
1732
|
+
|
|
1733
|
+
|
|
1734
|
+
<li class="md-nav__item">
|
|
1735
|
+
<a href="../models/dcim/manufacturer.html" class="md-nav__link">
|
|
1736
|
+
Manufacturer
|
|
1737
|
+
</a>
|
|
1738
|
+
</li>
|
|
1739
|
+
|
|
1740
|
+
|
|
1741
|
+
|
|
1742
|
+
|
|
1743
|
+
|
|
1744
|
+
|
|
1745
|
+
|
|
1746
|
+
|
|
1747
|
+
|
|
1748
|
+
<li class="md-nav__item">
|
|
1749
|
+
<a href="../models/dcim/platform.html" class="md-nav__link">
|
|
1750
|
+
Platform
|
|
1751
|
+
</a>
|
|
1752
|
+
</li>
|
|
1753
|
+
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
|
|
1757
|
+
|
|
1758
|
+
|
|
1759
|
+
|
|
1760
|
+
|
|
1761
|
+
|
|
1762
|
+
<li class="md-nav__item">
|
|
1763
|
+
<a href="../models/dcim/powerfeed.html" class="md-nav__link">
|
|
1764
|
+
Power Feed
|
|
1765
|
+
</a>
|
|
1766
|
+
</li>
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
|
|
1770
|
+
|
|
1771
|
+
|
|
1772
|
+
|
|
1773
|
+
|
|
1774
|
+
|
|
1775
|
+
|
|
1776
|
+
<li class="md-nav__item">
|
|
1777
|
+
<a href="../models/dcim/poweroutlet.html" class="md-nav__link">
|
|
1778
|
+
Power Outlet
|
|
1779
|
+
</a>
|
|
1780
|
+
</li>
|
|
1781
|
+
|
|
1782
|
+
|
|
1783
|
+
|
|
1784
|
+
|
|
1785
|
+
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
|
|
1789
|
+
|
|
1790
|
+
<li class="md-nav__item">
|
|
1791
|
+
<a href="../models/dcim/poweroutlettemplate.html" class="md-nav__link">
|
|
1792
|
+
Power Outlet Template
|
|
1793
|
+
</a>
|
|
1794
|
+
</li>
|
|
1795
|
+
|
|
1796
|
+
|
|
1797
|
+
|
|
1798
|
+
|
|
1799
|
+
|
|
1800
|
+
|
|
1801
|
+
|
|
1802
|
+
|
|
1803
|
+
|
|
1804
|
+
<li class="md-nav__item">
|
|
1805
|
+
<a href="../models/dcim/powerpanel.html" class="md-nav__link">
|
|
1806
|
+
Power Panel
|
|
1807
|
+
</a>
|
|
1808
|
+
</li>
|
|
1809
|
+
|
|
1810
|
+
|
|
1811
|
+
|
|
1812
|
+
|
|
1813
|
+
|
|
1814
|
+
|
|
1815
|
+
|
|
1816
|
+
|
|
1817
|
+
|
|
1818
|
+
<li class="md-nav__item">
|
|
1819
|
+
<a href="../models/dcim/powerport.html" class="md-nav__link">
|
|
1820
|
+
Power Port
|
|
1821
|
+
</a>
|
|
1822
|
+
</li>
|
|
1823
|
+
|
|
1824
|
+
|
|
1825
|
+
|
|
1826
|
+
|
|
1827
|
+
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
|
|
1831
|
+
|
|
1832
|
+
<li class="md-nav__item">
|
|
1833
|
+
<a href="../models/dcim/powerporttemplate.html" class="md-nav__link">
|
|
1834
|
+
Power Port Template
|
|
1835
|
+
</a>
|
|
1836
|
+
</li>
|
|
1837
|
+
|
|
1838
|
+
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
|
|
1842
|
+
|
|
1843
|
+
|
|
1844
|
+
|
|
1845
|
+
|
|
1846
|
+
<li class="md-nav__item">
|
|
1847
|
+
<a href="../models/dcim/rack.html" class="md-nav__link">
|
|
1848
|
+
Rack
|
|
1849
|
+
</a>
|
|
1850
|
+
</li>
|
|
1851
|
+
|
|
1852
|
+
|
|
1853
|
+
|
|
1854
|
+
|
|
1855
|
+
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
<li class="md-nav__item">
|
|
1861
|
+
<a href="../models/dcim/rackgroup.html" class="md-nav__link">
|
|
1862
|
+
Rack Group
|
|
1863
|
+
</a>
|
|
1864
|
+
</li>
|
|
1865
|
+
|
|
1866
|
+
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
|
|
1870
|
+
|
|
1871
|
+
|
|
1872
|
+
|
|
1873
|
+
|
|
1874
|
+
<li class="md-nav__item">
|
|
1875
|
+
<a href="../models/dcim/rackreservation.html" class="md-nav__link">
|
|
1876
|
+
Rack Reservation
|
|
1877
|
+
</a>
|
|
1878
|
+
</li>
|
|
1879
|
+
|
|
1880
|
+
|
|
1881
|
+
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
<li class="md-nav__item">
|
|
1889
|
+
<a href="../models/dcim/rearport.html" class="md-nav__link">
|
|
1890
|
+
Rear Port
|
|
1891
|
+
</a>
|
|
1892
|
+
</li>
|
|
1893
|
+
|
|
1894
|
+
|
|
1895
|
+
|
|
1896
|
+
|
|
1897
|
+
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
|
|
1901
|
+
|
|
1902
|
+
<li class="md-nav__item">
|
|
1903
|
+
<a href="../models/dcim/rearporttemplate.html" class="md-nav__link">
|
|
1904
|
+
Rear Port Template
|
|
1905
|
+
</a>
|
|
1906
|
+
</li>
|
|
1907
|
+
|
|
1908
|
+
|
|
1909
|
+
|
|
1910
|
+
|
|
1911
|
+
|
|
1912
|
+
|
|
1913
|
+
|
|
1914
|
+
|
|
1915
|
+
|
|
1916
|
+
<li class="md-nav__item">
|
|
1917
|
+
<a href="../models/dcim/virtualchassis.html" class="md-nav__link">
|
|
1918
|
+
Virtual Chassis
|
|
1919
|
+
</a>
|
|
1920
|
+
</li>
|
|
1921
|
+
|
|
1922
|
+
|
|
1923
|
+
|
|
1924
|
+
|
|
1925
|
+
</ul>
|
|
1926
|
+
</nav>
|
|
1927
|
+
</li>
|
|
1928
|
+
|
|
1929
|
+
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
|
|
1933
|
+
|
|
1934
|
+
|
|
1935
|
+
|
|
1936
|
+
|
|
1937
|
+
|
|
1938
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1939
|
+
|
|
1940
|
+
|
|
1941
|
+
|
|
1942
|
+
|
|
1943
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_3" >
|
|
1944
|
+
|
|
1945
|
+
|
|
1946
|
+
|
|
1947
|
+
<label class="md-nav__link" for="__nav_2_8_3" id="__nav_2_8_3_label" tabindex="0">
|
|
1948
|
+
Extras
|
|
1949
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1950
|
+
</label>
|
|
1951
|
+
|
|
1952
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_3_label" aria-expanded="false">
|
|
1953
|
+
<label class="md-nav__title" for="__nav_2_8_3">
|
|
1954
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1955
|
+
Extras
|
|
1956
|
+
</label>
|
|
1957
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1958
|
+
|
|
1959
|
+
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
|
|
1963
|
+
|
|
1964
|
+
<li class="md-nav__item">
|
|
1965
|
+
<a href="../models/extras/configcontext.html" class="md-nav__link">
|
|
1966
|
+
Config Context
|
|
1967
|
+
</a>
|
|
1968
|
+
</li>
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
|
|
1975
|
+
|
|
1976
|
+
|
|
1977
|
+
|
|
1978
|
+
<li class="md-nav__item">
|
|
1979
|
+
<a href="../models/extras/configcontextschema.html" class="md-nav__link">
|
|
1980
|
+
Config Context Schema
|
|
1981
|
+
</a>
|
|
1982
|
+
</li>
|
|
1983
|
+
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
|
|
1987
|
+
|
|
1988
|
+
|
|
1989
|
+
|
|
1990
|
+
|
|
1991
|
+
|
|
1992
|
+
<li class="md-nav__item">
|
|
1993
|
+
<a href="../models/extras/graphqlquery.html" class="md-nav__link">
|
|
1994
|
+
GraphQL Query
|
|
1995
|
+
</a>
|
|
1996
|
+
</li>
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
|
|
2003
|
+
|
|
2004
|
+
|
|
2005
|
+
|
|
2006
|
+
<li class="md-nav__item">
|
|
2007
|
+
<a href="../models/extras/imageattachment.html" class="md-nav__link">
|
|
2008
|
+
Image Attachment
|
|
2009
|
+
</a>
|
|
2010
|
+
</li>
|
|
2011
|
+
|
|
2012
|
+
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
|
|
2017
|
+
|
|
2018
|
+
|
|
2019
|
+
|
|
2020
|
+
<li class="md-nav__item">
|
|
2021
|
+
<a href="../models/extras/job.html" class="md-nav__link">
|
|
2022
|
+
Job
|
|
2023
|
+
</a>
|
|
2024
|
+
</li>
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
|
|
2029
|
+
|
|
2030
|
+
|
|
2031
|
+
|
|
2032
|
+
|
|
2033
|
+
|
|
2034
|
+
<li class="md-nav__item">
|
|
2035
|
+
<a href="../models/extras/joblogentry.html" class="md-nav__link">
|
|
2036
|
+
Job Log Entry
|
|
2037
|
+
</a>
|
|
2038
|
+
</li>
|
|
2039
|
+
|
|
2040
|
+
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
|
|
2045
|
+
|
|
2046
|
+
|
|
2047
|
+
|
|
2048
|
+
<li class="md-nav__item">
|
|
2049
|
+
<a href="../models/extras/jobresult.html" class="md-nav__link">
|
|
2050
|
+
Job Result
|
|
2051
|
+
</a>
|
|
2052
|
+
</li>
|
|
2053
|
+
|
|
2054
|
+
|
|
2055
|
+
|
|
2056
|
+
|
|
2057
|
+
|
|
2058
|
+
|
|
2059
|
+
|
|
2060
|
+
|
|
2061
|
+
|
|
2062
|
+
<li class="md-nav__item">
|
|
2063
|
+
<a href="../models/extras/role.html" class="md-nav__link">
|
|
2064
|
+
Role
|
|
2065
|
+
</a>
|
|
2066
|
+
</li>
|
|
2067
|
+
|
|
2068
|
+
|
|
2069
|
+
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
|
|
2073
|
+
|
|
2074
|
+
|
|
2075
|
+
|
|
2076
|
+
<li class="md-nav__item">
|
|
2077
|
+
<a href="../models/extras/secret.html" class="md-nav__link">
|
|
2078
|
+
Secret
|
|
2079
|
+
</a>
|
|
2080
|
+
</li>
|
|
2081
|
+
|
|
2082
|
+
|
|
2083
|
+
|
|
2084
|
+
|
|
2085
|
+
|
|
2086
|
+
|
|
2087
|
+
|
|
2088
|
+
|
|
2089
|
+
|
|
2090
|
+
<li class="md-nav__item">
|
|
2091
|
+
<a href="../models/extras/secretsgroup.html" class="md-nav__link">
|
|
2092
|
+
Secrets group
|
|
2093
|
+
</a>
|
|
2094
|
+
</li>
|
|
2095
|
+
|
|
2096
|
+
|
|
2097
|
+
|
|
2098
|
+
|
|
2099
|
+
</ul>
|
|
2100
|
+
</nav>
|
|
2101
|
+
</li>
|
|
2102
|
+
|
|
2103
|
+
|
|
2104
|
+
|
|
2105
|
+
|
|
2106
|
+
|
|
2107
|
+
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
|
|
2111
|
+
|
|
2112
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2113
|
+
|
|
2114
|
+
|
|
2115
|
+
|
|
2116
|
+
|
|
2117
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_4" >
|
|
2118
|
+
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
<label class="md-nav__link" for="__nav_2_8_4" id="__nav_2_8_4_label" tabindex="0">
|
|
2122
|
+
IPAM
|
|
2123
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2124
|
+
</label>
|
|
2125
|
+
|
|
2126
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_4_label" aria-expanded="false">
|
|
2127
|
+
<label class="md-nav__title" for="__nav_2_8_4">
|
|
2128
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2129
|
+
IPAM
|
|
2130
|
+
</label>
|
|
2131
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2132
|
+
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
<li class="md-nav__item">
|
|
2139
|
+
<a href="../models/ipam/ipaddress.html" class="md-nav__link">
|
|
2140
|
+
IP Address
|
|
2141
|
+
</a>
|
|
2142
|
+
</li>
|
|
2143
|
+
|
|
2144
|
+
|
|
2145
|
+
|
|
2146
|
+
|
|
2147
|
+
|
|
2148
|
+
|
|
2149
|
+
|
|
2150
|
+
|
|
2151
|
+
|
|
2152
|
+
<li class="md-nav__item">
|
|
2153
|
+
<a href="../models/ipam/prefix.html" class="md-nav__link">
|
|
2154
|
+
Prefix
|
|
2155
|
+
</a>
|
|
2156
|
+
</li>
|
|
2157
|
+
|
|
2158
|
+
|
|
2159
|
+
|
|
2160
|
+
|
|
2161
|
+
|
|
2162
|
+
|
|
2163
|
+
|
|
2164
|
+
|
|
2165
|
+
|
|
2166
|
+
<li class="md-nav__item">
|
|
2167
|
+
<a href="../models/ipam/rir.html" class="md-nav__link">
|
|
2168
|
+
Rir
|
|
2169
|
+
</a>
|
|
2170
|
+
</li>
|
|
2171
|
+
|
|
2172
|
+
|
|
2173
|
+
|
|
2174
|
+
|
|
2175
|
+
|
|
2176
|
+
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
|
|
2180
|
+
<li class="md-nav__item">
|
|
2181
|
+
<a href="../models/ipam/routetarget.html" class="md-nav__link">
|
|
2182
|
+
Route Target
|
|
2183
|
+
</a>
|
|
2184
|
+
</li>
|
|
2185
|
+
|
|
2186
|
+
|
|
2187
|
+
|
|
2188
|
+
|
|
2189
|
+
|
|
2190
|
+
|
|
2191
|
+
|
|
2192
|
+
|
|
2193
|
+
|
|
2194
|
+
<li class="md-nav__item">
|
|
2195
|
+
<a href="../models/ipam/service.html" class="md-nav__link">
|
|
2196
|
+
Service
|
|
2197
|
+
</a>
|
|
2198
|
+
</li>
|
|
2199
|
+
|
|
2200
|
+
|
|
2201
|
+
|
|
2202
|
+
|
|
2203
|
+
|
|
2204
|
+
|
|
2205
|
+
|
|
2206
|
+
|
|
2207
|
+
|
|
2208
|
+
<li class="md-nav__item">
|
|
2209
|
+
<a href="../models/ipam/vlan.html" class="md-nav__link">
|
|
2210
|
+
VLAN
|
|
2211
|
+
</a>
|
|
2212
|
+
</li>
|
|
2213
|
+
|
|
2214
|
+
|
|
2215
|
+
|
|
2216
|
+
|
|
2217
|
+
|
|
2218
|
+
|
|
2219
|
+
|
|
2220
|
+
|
|
2221
|
+
|
|
2222
|
+
<li class="md-nav__item">
|
|
2223
|
+
<a href="../models/ipam/vlangroup.html" class="md-nav__link">
|
|
2224
|
+
VLAN Group
|
|
2225
|
+
</a>
|
|
2226
|
+
</li>
|
|
2227
|
+
|
|
2228
|
+
|
|
2229
|
+
|
|
2230
|
+
|
|
2231
|
+
|
|
2232
|
+
|
|
2233
|
+
|
|
2234
|
+
|
|
2235
|
+
|
|
2236
|
+
<li class="md-nav__item">
|
|
2237
|
+
<a href="../models/ipam/vrf.html" class="md-nav__link">
|
|
2238
|
+
VRF
|
|
2239
|
+
</a>
|
|
2240
|
+
</li>
|
|
2241
|
+
|
|
2242
|
+
|
|
2243
|
+
|
|
2244
|
+
|
|
2245
|
+
</ul>
|
|
2246
|
+
</nav>
|
|
2247
|
+
</li>
|
|
2248
|
+
|
|
2249
|
+
|
|
2250
|
+
|
|
2251
|
+
|
|
2252
|
+
|
|
2253
|
+
|
|
2254
|
+
|
|
2255
|
+
|
|
2256
|
+
|
|
2257
|
+
|
|
2258
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2259
|
+
|
|
2260
|
+
|
|
2261
|
+
|
|
2262
|
+
|
|
2263
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_5" >
|
|
2264
|
+
|
|
2265
|
+
|
|
2266
|
+
|
|
2267
|
+
<label class="md-nav__link" for="__nav_2_8_5" id="__nav_2_8_5_label" tabindex="0">
|
|
2268
|
+
Tenancy
|
|
2269
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2270
|
+
</label>
|
|
2271
|
+
|
|
2272
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_5_label" aria-expanded="false">
|
|
2273
|
+
<label class="md-nav__title" for="__nav_2_8_5">
|
|
2274
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2275
|
+
Tenancy
|
|
2276
|
+
</label>
|
|
2277
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2278
|
+
|
|
2279
|
+
|
|
2280
|
+
|
|
2281
|
+
|
|
2282
|
+
|
|
2283
|
+
|
|
2284
|
+
<li class="md-nav__item">
|
|
2285
|
+
<a href="../models/tenancy/tenant.html" class="md-nav__link">
|
|
2286
|
+
Tenant
|
|
1110
2287
|
</a>
|
|
1111
2288
|
</li>
|
|
1112
2289
|
|
|
@@ -1119,8 +2296,8 @@
|
|
|
1119
2296
|
|
|
1120
2297
|
|
|
1121
2298
|
<li class="md-nav__item">
|
|
1122
|
-
<a href="../
|
|
1123
|
-
|
|
2299
|
+
<a href="../models/tenancy/tenantgroup.html" class="md-nav__link">
|
|
2300
|
+
Tenant Group
|
|
1124
2301
|
</a>
|
|
1125
2302
|
</li>
|
|
1126
2303
|
|
|
@@ -1143,20 +2320,21 @@
|
|
|
1143
2320
|
<li class="md-nav__item md-nav__item--nested">
|
|
1144
2321
|
|
|
1145
2322
|
|
|
1146
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_7" type="checkbox" id="__nav_2_7" >
|
|
1147
2323
|
|
|
1148
2324
|
|
|
2325
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_6" >
|
|
1149
2326
|
|
|
1150
2327
|
|
|
1151
|
-
|
|
1152
|
-
|
|
2328
|
+
|
|
2329
|
+
<label class="md-nav__link" for="__nav_2_8_6" id="__nav_2_8_6_label" tabindex="0">
|
|
2330
|
+
Users
|
|
1153
2331
|
<span class="md-nav__icon md-icon"></span>
|
|
1154
2332
|
</label>
|
|
1155
2333
|
|
|
1156
|
-
<nav class="md-nav"
|
|
1157
|
-
<label class="md-nav__title" for="
|
|
2334
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_6_label" aria-expanded="false">
|
|
2335
|
+
<label class="md-nav__title" for="__nav_2_8_6">
|
|
1158
2336
|
<span class="md-nav__icon md-icon"></span>
|
|
1159
|
-
|
|
2337
|
+
Users
|
|
1160
2338
|
</label>
|
|
1161
2339
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
1162
2340
|
|
|
@@ -1166,22 +2344,8 @@
|
|
|
1166
2344
|
|
|
1167
2345
|
|
|
1168
2346
|
<li class="md-nav__item">
|
|
1169
|
-
<a href="../
|
|
1170
|
-
|
|
1171
|
-
</a>
|
|
1172
|
-
</li>
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
<li class="md-nav__item">
|
|
1183
|
-
<a href="../core-functionality/devices.html" class="md-nav__link">
|
|
1184
|
-
Devices and Cabling
|
|
2347
|
+
<a href="../models/users/objectpermission.html" class="md-nav__link">
|
|
2348
|
+
Object Permission
|
|
1185
2349
|
</a>
|
|
1186
2350
|
</li>
|
|
1187
2351
|
|
|
@@ -1194,23 +2358,16 @@
|
|
|
1194
2358
|
|
|
1195
2359
|
|
|
1196
2360
|
<li class="md-nav__item">
|
|
1197
|
-
<a href="../
|
|
1198
|
-
|
|
2361
|
+
<a href="../models/users/token.html" class="md-nav__link">
|
|
2362
|
+
Token
|
|
1199
2363
|
</a>
|
|
1200
2364
|
</li>
|
|
1201
2365
|
|
|
1202
2366
|
|
|
1203
2367
|
|
|
1204
2368
|
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
<li class="md-nav__item">
|
|
1211
|
-
<a href="../core-functionality/ipam.html" class="md-nav__link">
|
|
1212
|
-
IP Address Management
|
|
1213
|
-
</a>
|
|
2369
|
+
</ul>
|
|
2370
|
+
</nav>
|
|
1214
2371
|
</li>
|
|
1215
2372
|
|
|
1216
2373
|
|
|
@@ -1221,14 +2378,27 @@
|
|
|
1221
2378
|
|
|
1222
2379
|
|
|
1223
2380
|
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
2381
|
+
|
|
2382
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2383
|
+
|
|
2384
|
+
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_7" >
|
|
2388
|
+
|
|
2389
|
+
|
|
2390
|
+
|
|
2391
|
+
<label class="md-nav__link" for="__nav_2_8_7" id="__nav_2_8_7_label" tabindex="0">
|
|
2392
|
+
Virtualization
|
|
2393
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2394
|
+
</label>
|
|
2395
|
+
|
|
2396
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_7_label" aria-expanded="false">
|
|
2397
|
+
<label class="md-nav__title" for="__nav_2_8_7">
|
|
2398
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2399
|
+
Virtualization
|
|
2400
|
+
</label>
|
|
2401
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1232
2402
|
|
|
1233
2403
|
|
|
1234
2404
|
|
|
@@ -1236,8 +2406,8 @@
|
|
|
1236
2406
|
|
|
1237
2407
|
|
|
1238
2408
|
<li class="md-nav__item">
|
|
1239
|
-
<a href="../
|
|
1240
|
-
|
|
2409
|
+
<a href="../models/virtualization/cluster.html" class="md-nav__link">
|
|
2410
|
+
Cluster
|
|
1241
2411
|
</a>
|
|
1242
2412
|
</li>
|
|
1243
2413
|
|
|
@@ -1250,8 +2420,8 @@
|
|
|
1250
2420
|
|
|
1251
2421
|
|
|
1252
2422
|
<li class="md-nav__item">
|
|
1253
|
-
<a href="../
|
|
1254
|
-
|
|
2423
|
+
<a href="../models/virtualization/clustergroup.html" class="md-nav__link">
|
|
2424
|
+
Cluster Group
|
|
1255
2425
|
</a>
|
|
1256
2426
|
</li>
|
|
1257
2427
|
|
|
@@ -1264,8 +2434,8 @@
|
|
|
1264
2434
|
|
|
1265
2435
|
|
|
1266
2436
|
<li class="md-nav__item">
|
|
1267
|
-
<a href="../
|
|
1268
|
-
|
|
2437
|
+
<a href="../models/virtualization/clustertype.html" class="md-nav__link">
|
|
2438
|
+
Cluster Type
|
|
1269
2439
|
</a>
|
|
1270
2440
|
</li>
|
|
1271
2441
|
|
|
@@ -1278,8 +2448,8 @@
|
|
|
1278
2448
|
|
|
1279
2449
|
|
|
1280
2450
|
<li class="md-nav__item">
|
|
1281
|
-
<a href="../
|
|
1282
|
-
|
|
2451
|
+
<a href="../models/virtualization/virtualmachine.html" class="md-nav__link">
|
|
2452
|
+
Virtual Machine
|
|
1283
2453
|
</a>
|
|
1284
2454
|
</li>
|
|
1285
2455
|
|
|
@@ -1292,23 +2462,16 @@
|
|
|
1292
2462
|
|
|
1293
2463
|
|
|
1294
2464
|
<li class="md-nav__item">
|
|
1295
|
-
<a href="../
|
|
1296
|
-
|
|
2465
|
+
<a href="../models/virtualization/vminterface.html" class="md-nav__link">
|
|
2466
|
+
VM Interface
|
|
1297
2467
|
</a>
|
|
1298
2468
|
</li>
|
|
1299
2469
|
|
|
1300
2470
|
|
|
1301
2471
|
|
|
1302
2472
|
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
<li class="md-nav__item">
|
|
1309
|
-
<a href="../core-functionality/vlans.html" class="md-nav__link">
|
|
1310
|
-
VLAN Management
|
|
1311
|
-
</a>
|
|
2473
|
+
</ul>
|
|
2474
|
+
</nav>
|
|
1312
2475
|
</li>
|
|
1313
2476
|
|
|
1314
2477
|
|
|
@@ -1330,18 +2493,19 @@
|
|
|
1330
2493
|
<li class="md-nav__item md-nav__item--nested">
|
|
1331
2494
|
|
|
1332
2495
|
|
|
1333
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_8" type="checkbox" id="__nav_2_8" >
|
|
1334
2496
|
|
|
1335
2497
|
|
|
2498
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
|
|
1336
2499
|
|
|
1337
2500
|
|
|
1338
|
-
|
|
2501
|
+
|
|
2502
|
+
<label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
|
|
1339
2503
|
Additional Features
|
|
1340
2504
|
<span class="md-nav__icon md-icon"></span>
|
|
1341
2505
|
</label>
|
|
1342
2506
|
|
|
1343
|
-
<nav class="md-nav"
|
|
1344
|
-
<label class="md-nav__title" for="
|
|
2507
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
|
|
2508
|
+
<label class="md-nav__title" for="__nav_2_9">
|
|
1345
2509
|
<span class="md-nav__icon md-icon"></span>
|
|
1346
2510
|
Additional Features
|
|
1347
2511
|
</label>
|
|
@@ -1671,18 +2835,19 @@
|
|
|
1671
2835
|
<li class="md-nav__item md-nav__item--nested">
|
|
1672
2836
|
|
|
1673
2837
|
|
|
1674
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_9" type="checkbox" id="__nav_2_9" >
|
|
1675
2838
|
|
|
1676
2839
|
|
|
2840
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" >
|
|
2841
|
+
|
|
1677
2842
|
|
|
1678
2843
|
|
|
1679
|
-
<label class="md-nav__link" for="
|
|
2844
|
+
<label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
|
|
1680
2845
|
REST API
|
|
1681
2846
|
<span class="md-nav__icon md-icon"></span>
|
|
1682
2847
|
</label>
|
|
1683
2848
|
|
|
1684
|
-
<nav class="md-nav"
|
|
1685
|
-
<label class="md-nav__title" for="
|
|
2849
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
|
|
2850
|
+
<label class="md-nav__title" for="__nav_2_10">
|
|
1686
2851
|
<span class="md-nav__icon md-icon"></span>
|
|
1687
2852
|
REST API
|
|
1688
2853
|
</label>
|
|
@@ -1730,6 +2895,20 @@
|
|
|
1730
2895
|
|
|
1731
2896
|
|
|
1732
2897
|
|
|
2898
|
+
|
|
2899
|
+
|
|
2900
|
+
|
|
2901
|
+
|
|
2902
|
+
|
|
2903
|
+
<li class="md-nav__item">
|
|
2904
|
+
<a href="../rest-api/ui-related-endpoints.html" class="md-nav__link">
|
|
2905
|
+
UI Endpoints
|
|
2906
|
+
</a>
|
|
2907
|
+
</li>
|
|
2908
|
+
|
|
2909
|
+
|
|
2910
|
+
|
|
2911
|
+
|
|
1733
2912
|
</ul>
|
|
1734
2913
|
</nav>
|
|
1735
2914
|
</li>
|
|
@@ -1746,18 +2925,19 @@
|
|
|
1746
2925
|
<li class="md-nav__item md-nav__item--nested">
|
|
1747
2926
|
|
|
1748
2927
|
|
|
1749
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_10" type="checkbox" id="__nav_2_10" >
|
|
1750
2928
|
|
|
1751
2929
|
|
|
2930
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
|
|
1752
2931
|
|
|
1753
2932
|
|
|
1754
|
-
|
|
2933
|
+
|
|
2934
|
+
<label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
|
|
1755
2935
|
GraphQL API
|
|
1756
2936
|
<span class="md-nav__icon md-icon"></span>
|
|
1757
2937
|
</label>
|
|
1758
2938
|
|
|
1759
|
-
<nav class="md-nav"
|
|
1760
|
-
<label class="md-nav__title" for="
|
|
2939
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
|
|
2940
|
+
<label class="md-nav__title" for="__nav_2_11">
|
|
1761
2941
|
<span class="md-nav__icon md-icon"></span>
|
|
1762
2942
|
GraphQL API
|
|
1763
2943
|
</label>
|
|
@@ -1815,17 +2995,18 @@
|
|
|
1815
2995
|
<li class="md-nav__item md-nav__item--nested">
|
|
1816
2996
|
|
|
1817
2997
|
|
|
1818
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
|
|
1819
2998
|
|
|
1820
2999
|
|
|
3000
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
1821
3001
|
|
|
1822
3002
|
|
|
1823
|
-
|
|
3003
|
+
|
|
3004
|
+
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
1824
3005
|
App Developer Guide
|
|
1825
3006
|
<span class="md-nav__icon md-icon"></span>
|
|
1826
3007
|
</label>
|
|
1827
3008
|
|
|
1828
|
-
<nav class="md-nav"
|
|
3009
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
1829
3010
|
<label class="md-nav__title" for="__nav_3">
|
|
1830
3011
|
<span class="md-nav__icon md-icon"></span>
|
|
1831
3012
|
App Developer Guide
|
|
@@ -1869,17 +3050,18 @@
|
|
|
1869
3050
|
<li class="md-nav__item md-nav__item--nested">
|
|
1870
3051
|
|
|
1871
3052
|
|
|
1872
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3_3" type="checkbox" id="__nav_3_3" >
|
|
1873
3053
|
|
|
1874
3054
|
|
|
3055
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3_3" >
|
|
3056
|
+
|
|
1875
3057
|
|
|
1876
3058
|
|
|
1877
|
-
<label class="md-nav__link" for="__nav_3_3">
|
|
3059
|
+
<label class="md-nav__link" for="__nav_3_3" id="__nav_3_3_label" tabindex="0">
|
|
1878
3060
|
Code Reference
|
|
1879
3061
|
<span class="md-nav__icon md-icon"></span>
|
|
1880
3062
|
</label>
|
|
1881
3063
|
|
|
1882
|
-
<nav class="md-nav"
|
|
3064
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_3_3_label" aria-expanded="false">
|
|
1883
3065
|
<label class="md-nav__title" for="__nav_3_3">
|
|
1884
3066
|
<span class="md-nav__icon md-icon"></span>
|
|
1885
3067
|
Code Reference
|
|
@@ -2108,17 +3290,18 @@
|
|
|
2108
3290
|
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
|
|
2109
3291
|
|
|
2110
3292
|
|
|
2111
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
|
|
2112
3293
|
|
|
2113
3294
|
|
|
3295
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" checked>
|
|
2114
3296
|
|
|
2115
3297
|
|
|
2116
|
-
|
|
3298
|
+
|
|
3299
|
+
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
|
|
2117
3300
|
Core Developer Guide
|
|
2118
3301
|
<span class="md-nav__icon md-icon"></span>
|
|
2119
3302
|
</label>
|
|
2120
3303
|
|
|
2121
|
-
<nav class="md-nav"
|
|
3304
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="true">
|
|
2122
3305
|
<label class="md-nav__title" for="__nav_4">
|
|
2123
3306
|
<span class="md-nav__icon md-icon"></span>
|
|
2124
3307
|
Core Developer Guide
|
|
@@ -2148,7 +3331,7 @@
|
|
|
2148
3331
|
|
|
2149
3332
|
<li class="md-nav__item md-nav__item--active">
|
|
2150
3333
|
|
|
2151
|
-
<input class="md-nav__toggle md-toggle"
|
|
3334
|
+
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
2152
3335
|
|
|
2153
3336
|
|
|
2154
3337
|
|
|
@@ -2315,6 +3498,13 @@
|
|
|
2315
3498
|
Install markdownlint-cli
|
|
2316
3499
|
</a>
|
|
2317
3500
|
|
|
3501
|
+
</li>
|
|
3502
|
+
|
|
3503
|
+
<li class="md-nav__item">
|
|
3504
|
+
<a href="#install-npm" class="md-nav__link">
|
|
3505
|
+
Install npm
|
|
3506
|
+
</a>
|
|
3507
|
+
|
|
2318
3508
|
</li>
|
|
2319
3509
|
|
|
2320
3510
|
<li class="md-nav__item">
|
|
@@ -2395,6 +3585,20 @@
|
|
|
2395
3585
|
Starting the Development Server
|
|
2396
3586
|
</a>
|
|
2397
3587
|
|
|
3588
|
+
</li>
|
|
3589
|
+
|
|
3590
|
+
<li class="md-nav__item">
|
|
3591
|
+
<a href="#starting-the-nodejs-server" class="md-nav__link">
|
|
3592
|
+
Starting the Node.js Server
|
|
3593
|
+
</a>
|
|
3594
|
+
|
|
3595
|
+
</li>
|
|
3596
|
+
|
|
3597
|
+
<li class="md-nav__item">
|
|
3598
|
+
<a href="#starting-the-storybook-server" class="md-nav__link">
|
|
3599
|
+
Starting the Storybook Server
|
|
3600
|
+
</a>
|
|
3601
|
+
|
|
2398
3602
|
</li>
|
|
2399
3603
|
|
|
2400
3604
|
<li class="md-nav__item">
|
|
@@ -2753,17 +3957,18 @@
|
|
|
2753
3957
|
<li class="md-nav__item md-nav__item--nested">
|
|
2754
3958
|
|
|
2755
3959
|
|
|
2756
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
|
|
2757
3960
|
|
|
2758
3961
|
|
|
3962
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|
2759
3963
|
|
|
2760
3964
|
|
|
2761
|
-
|
|
3965
|
+
|
|
3966
|
+
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
2762
3967
|
Release Notes
|
|
2763
3968
|
<span class="md-nav__icon md-icon"></span>
|
|
2764
3969
|
</label>
|
|
2765
3970
|
|
|
2766
|
-
<nav class="md-nav"
|
|
3971
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|
2767
3972
|
<label class="md-nav__title" for="__nav_5">
|
|
2768
3973
|
<span class="md-nav__icon md-icon"></span>
|
|
2769
3974
|
Release Notes
|
|
@@ -2899,17 +4104,18 @@
|
|
|
2899
4104
|
<li class="md-nav__item md-nav__item--nested">
|
|
2900
4105
|
|
|
2901
4106
|
|
|
2902
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
|
|
2903
4107
|
|
|
2904
4108
|
|
|
4109
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
|
|
4110
|
+
|
|
2905
4111
|
|
|
2906
4112
|
|
|
2907
|
-
<label class="md-nav__link" for="__nav_6">
|
|
4113
|
+
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
|
|
2908
4114
|
Nautobot Apps
|
|
2909
4115
|
<span class="md-nav__icon md-icon"></span>
|
|
2910
4116
|
</label>
|
|
2911
4117
|
|
|
2912
|
-
<nav class="md-nav"
|
|
4118
|
+
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
|
|
2913
4119
|
<label class="md-nav__title" for="__nav_6">
|
|
2914
4120
|
<span class="md-nav__icon md-icon"></span>
|
|
2915
4121
|
Nautobot Apps
|
|
@@ -2939,17 +4145,18 @@
|
|
|
2939
4145
|
<li class="md-nav__item md-nav__item--nested">
|
|
2940
4146
|
|
|
2941
4147
|
|
|
2942
|
-
<input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
|
|
2943
4148
|
|
|
2944
4149
|
|
|
4150
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_2" >
|
|
2945
4151
|
|
|
2946
4152
|
|
|
2947
|
-
|
|
4153
|
+
|
|
4154
|
+
<label class="md-nav__link" for="__nav_6_2" id="__nav_6_2_label" tabindex="0">
|
|
2948
4155
|
Network to Code App Docs
|
|
2949
4156
|
<span class="md-nav__icon md-icon"></span>
|
|
2950
4157
|
</label>
|
|
2951
4158
|
|
|
2952
|
-
<nav class="md-nav"
|
|
4159
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_2_label" aria-expanded="false">
|
|
2953
4160
|
<label class="md-nav__title" for="__nav_6_2">
|
|
2954
4161
|
<span class="md-nav__icon md-icon"></span>
|
|
2955
4162
|
Network to Code App Docs
|
|
@@ -2976,8 +4183,8 @@
|
|
|
2976
4183
|
|
|
2977
4184
|
|
|
2978
4185
|
<li class="md-nav__item">
|
|
2979
|
-
<a href="https://nautobot
|
|
2980
|
-
Nautobot
|
|
4186
|
+
<a href="https://docs.nautobot.com/projects/circuit-maintenance/en/latest/" class="md-nav__link">
|
|
4187
|
+
Nautobot Circuit Maintenance
|
|
2981
4188
|
</a>
|
|
2982
4189
|
</li>
|
|
2983
4190
|
|
|
@@ -2990,8 +4197,36 @@
|
|
|
2990
4197
|
|
|
2991
4198
|
|
|
2992
4199
|
<li class="md-nav__item">
|
|
2993
|
-
<a href="https://docs.nautobot.com/projects/
|
|
2994
|
-
Nautobot
|
|
4200
|
+
<a href="https://docs.nautobot.com/projects/device-lifecycle/en/latest/" class="md-nav__link">
|
|
4201
|
+
Nautobot Device LifeCycle Management
|
|
4202
|
+
</a>
|
|
4203
|
+
</li>
|
|
4204
|
+
|
|
4205
|
+
|
|
4206
|
+
|
|
4207
|
+
|
|
4208
|
+
|
|
4209
|
+
|
|
4210
|
+
|
|
4211
|
+
|
|
4212
|
+
|
|
4213
|
+
<li class="md-nav__item">
|
|
4214
|
+
<a href="https://docs.nautobot.com/projects/device-onboarding/en/latest/" class="md-nav__link">
|
|
4215
|
+
Nautobot Device Onboarding
|
|
4216
|
+
</a>
|
|
4217
|
+
</li>
|
|
4218
|
+
|
|
4219
|
+
|
|
4220
|
+
|
|
4221
|
+
|
|
4222
|
+
|
|
4223
|
+
|
|
4224
|
+
|
|
4225
|
+
|
|
4226
|
+
|
|
4227
|
+
<li class="md-nav__item">
|
|
4228
|
+
<a href="https://nautobot-plugin-firewall-models.readthedocs.io/en/latest/" class="md-nav__link">
|
|
4229
|
+
Nautobot Firewall Models
|
|
2995
4230
|
</a>
|
|
2996
4231
|
</li>
|
|
2997
4232
|
|
|
@@ -3018,7 +4253,21 @@
|
|
|
3018
4253
|
|
|
3019
4254
|
|
|
3020
4255
|
<li class="md-nav__item">
|
|
3021
|
-
<a href="https://nautobot
|
|
4256
|
+
<a href="https://docs.nautobot.com/projects/plugin-nornir/en/latest/" class="md-nav__link">
|
|
4257
|
+
Nautobot Plugin Nornir
|
|
4258
|
+
</a>
|
|
4259
|
+
</li>
|
|
4260
|
+
|
|
4261
|
+
|
|
4262
|
+
|
|
4263
|
+
|
|
4264
|
+
|
|
4265
|
+
|
|
4266
|
+
|
|
4267
|
+
|
|
4268
|
+
|
|
4269
|
+
<li class="md-nav__item">
|
|
4270
|
+
<a href="https://docs.nautobot.com/projects/ssot/en/latest/" class="md-nav__link">
|
|
3022
4271
|
Nautobot Single Source of Truth
|
|
3023
4272
|
</a>
|
|
3024
4273
|
</li>
|
|
@@ -3231,6 +4480,13 @@
|
|
|
3231
4480
|
Install markdownlint-cli
|
|
3232
4481
|
</a>
|
|
3233
4482
|
|
|
4483
|
+
</li>
|
|
4484
|
+
|
|
4485
|
+
<li class="md-nav__item">
|
|
4486
|
+
<a href="#install-npm" class="md-nav__link">
|
|
4487
|
+
Install npm
|
|
4488
|
+
</a>
|
|
4489
|
+
|
|
3234
4490
|
</li>
|
|
3235
4491
|
|
|
3236
4492
|
<li class="md-nav__item">
|
|
@@ -3311,6 +4567,20 @@
|
|
|
3311
4567
|
Starting the Development Server
|
|
3312
4568
|
</a>
|
|
3313
4569
|
|
|
4570
|
+
</li>
|
|
4571
|
+
|
|
4572
|
+
<li class="md-nav__item">
|
|
4573
|
+
<a href="#starting-the-nodejs-server" class="md-nav__link">
|
|
4574
|
+
Starting the Node.js Server
|
|
4575
|
+
</a>
|
|
4576
|
+
|
|
4577
|
+
</li>
|
|
4578
|
+
|
|
4579
|
+
<li class="md-nav__item">
|
|
4580
|
+
<a href="#starting-the-storybook-server" class="md-nav__link">
|
|
4581
|
+
Starting the Storybook Server
|
|
4582
|
+
</a>
|
|
4583
|
+
|
|
3314
4584
|
</li>
|
|
3315
4585
|
|
|
3316
4586
|
<li class="md-nav__item">
|
|
@@ -3475,10 +4745,8 @@
|
|
|
3475
4745
|
|
|
3476
4746
|
|
|
3477
4747
|
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
<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>
|
|
3481
|
-
</a>
|
|
4748
|
+
|
|
4749
|
+
|
|
3482
4750
|
|
|
3483
4751
|
|
|
3484
4752
|
<h1 id="getting-started">Getting Started<a class="headerlink" href="#getting-started" title="Permanent link">¶</a></h1>
|
|
@@ -3632,25 +4900,28 @@
|
|
|
3632
4900
|
<a id="__codelineno-17-14" name="__codelineno-17-14" href="#__codelineno-17-14"></a> destroy Destroy all containers and volumes.
|
|
3633
4901
|
<a id="__codelineno-17-15" name="__codelineno-17-15" href="#__codelineno-17-15"></a> docker-push Tags and pushes docker images to the appropriate repos, intended for release use only.
|
|
3634
4902
|
<a id="__codelineno-17-16" name="__codelineno-17-16" href="#__codelineno-17-16"></a> dumpdata Dump data from database to db_output file.
|
|
3635
|
-
<a id="__codelineno-17-17" name="__codelineno-17-17" href="#__codelineno-17-17"></a>
|
|
3636
|
-
<a id="__codelineno-17-18" name="__codelineno-17-18" href="#__codelineno-17-18"></a>
|
|
3637
|
-
<a id="__codelineno-17-19" name="__codelineno-17-19" href="#__codelineno-17-19"></a>
|
|
3638
|
-
<a id="__codelineno-17-20" name="__codelineno-17-20" href="#__codelineno-17-20"></a>
|
|
3639
|
-
<a id="__codelineno-17-21" name="__codelineno-17-21" href="#__codelineno-17-21"></a>
|
|
3640
|
-
<a id="__codelineno-17-22" name="__codelineno-17-22" href="#__codelineno-17-22"></a>
|
|
3641
|
-
<a id="__codelineno-17-23" name="__codelineno-17-23" href="#__codelineno-17-23"></a>
|
|
3642
|
-
<a id="__codelineno-17-24" name="__codelineno-17-24" href="#__codelineno-17-24"></a>
|
|
3643
|
-
<a id="__codelineno-17-25" name="__codelineno-17-25" href="#__codelineno-17-25"></a>
|
|
3644
|
-
<a id="__codelineno-17-26" name="__codelineno-17-26" href="#__codelineno-17-26"></a>
|
|
3645
|
-
<a id="__codelineno-17-27" name="__codelineno-17-27" href="#__codelineno-17-27"></a>
|
|
3646
|
-
<a id="__codelineno-17-28" name="__codelineno-17-28" href="#__codelineno-17-28"></a>
|
|
3647
|
-
<a id="__codelineno-17-29" name="__codelineno-17-29" href="#__codelineno-17-29"></a>
|
|
3648
|
-
<a id="__codelineno-17-30" name="__codelineno-17-30" href="#__codelineno-17-30"></a>
|
|
3649
|
-
<a id="__codelineno-17-31" name="__codelineno-17-31" href="#__codelineno-17-31"></a>
|
|
3650
|
-
<a id="__codelineno-17-32" name="__codelineno-17-32" href="#__codelineno-17-32"></a>
|
|
3651
|
-
<a id="__codelineno-17-33" name="__codelineno-17-33" href="#__codelineno-17-33"></a>
|
|
3652
|
-
<a id="__codelineno-17-34" name="__codelineno-17-34" href="#__codelineno-17-34"></a>
|
|
3653
|
-
<a id="__codelineno-17-35" name="__codelineno-17-35" href="#__codelineno-17-35"></a>
|
|
4903
|
+
<a id="__codelineno-17-17" name="__codelineno-17-17" href="#__codelineno-17-17"></a> eslint Check for ESLint rule compliance and other style issues.
|
|
4904
|
+
<a id="__codelineno-17-18" name="__codelineno-17-18" href="#__codelineno-17-18"></a> flake8 Check for PEP8 compliance and other style issues.
|
|
4905
|
+
<a id="__codelineno-17-19" name="__codelineno-17-19" href="#__codelineno-17-19"></a> hadolint Check Dockerfile for hadolint compliance and other style issues.
|
|
4906
|
+
<a id="__codelineno-17-20" name="__codelineno-17-20" href="#__codelineno-17-20"></a> integration-test Run Nautobot integration tests.
|
|
4907
|
+
<a id="__codelineno-17-21" name="__codelineno-17-21" href="#__codelineno-17-21"></a> loaddata Load data from file.
|
|
4908
|
+
<a id="__codelineno-17-22" name="__codelineno-17-22" href="#__codelineno-17-22"></a> makemigrations Perform makemigrations operation in Django.
|
|
4909
|
+
<a id="__codelineno-17-23" name="__codelineno-17-23" href="#__codelineno-17-23"></a> markdownlint Lint Markdown files.
|
|
4910
|
+
<a id="__codelineno-17-24" name="__codelineno-17-24" href="#__codelineno-17-24"></a> migrate Perform migrate operation in Django.
|
|
4911
|
+
<a id="__codelineno-17-25" name="__codelineno-17-25" href="#__codelineno-17-25"></a> nbshell Launch an interactive Nautobot shell.
|
|
4912
|
+
<a id="__codelineno-17-26" name="__codelineno-17-26" href="#__codelineno-17-26"></a> performance-test Run Nautobot performance tests.
|
|
4913
|
+
<a id="__codelineno-17-27" name="__codelineno-17-27" href="#__codelineno-17-27"></a> post-upgrade Performs Nautobot common post-upgrade operations using a single entrypoint.
|
|
4914
|
+
<a id="__codelineno-17-28" name="__codelineno-17-28" href="#__codelineno-17-28"></a> prettier Check Node.JS code style with Prettier.
|
|
4915
|
+
<a id="__codelineno-17-29" name="__codelineno-17-29" href="#__codelineno-17-29"></a> pylint Perform static analysis of Nautobot code.
|
|
4916
|
+
<a id="__codelineno-17-30" name="__codelineno-17-30" href="#__codelineno-17-30"></a> restart Gracefully restart containers.
|
|
4917
|
+
<a id="__codelineno-17-31" name="__codelineno-17-31" href="#__codelineno-17-31"></a> serve-docs Runs local instance of mkdocs serve (ctrl-c to stop).
|
|
4918
|
+
<a id="__codelineno-17-32" name="__codelineno-17-32" href="#__codelineno-17-32"></a> start Start Nautobot and its dependencies in detached mode.
|
|
4919
|
+
<a id="__codelineno-17-33" name="__codelineno-17-33" href="#__codelineno-17-33"></a> stop Stop Nautobot and its dependencies.
|
|
4920
|
+
<a id="__codelineno-17-34" name="__codelineno-17-34" href="#__codelineno-17-34"></a> tests Run all linters and unit tests.
|
|
4921
|
+
<a id="__codelineno-17-35" name="__codelineno-17-35" href="#__codelineno-17-35"></a> unittest Run Nautobot unit tests.
|
|
4922
|
+
<a id="__codelineno-17-36" name="__codelineno-17-36" href="#__codelineno-17-36"></a> unittest-coverage Report on code test coverage as measured by 'invoke unittest'.
|
|
4923
|
+
<a id="__codelineno-17-37" name="__codelineno-17-37" href="#__codelineno-17-37"></a> unittest-ui Run Nautobot UI unit tests.
|
|
4924
|
+
<a id="__codelineno-17-38" name="__codelineno-17-38" href="#__codelineno-17-38"></a> vscode Launch Visual Studio Code with the appropriate Environment variables to run in a container.
|
|
3654
4925
|
</code></pre></div>
|
|
3655
4926
|
<h4 id="using-docker-with-invoke">Using Docker with Invoke<a class="headerlink" href="#using-docker-with-invoke" title="Permanent link">¶</a></h4>
|
|
3656
4927
|
<p>A development environment can be easily started up from the root of the project using the following commands:</p>
|
|
@@ -3662,13 +4933,13 @@
|
|
|
3662
4933
|
</ul>
|
|
3663
4934
|
<p>Additional useful commands for the development environment:</p>
|
|
3664
4935
|
<ul>
|
|
3665
|
-
<li><code>invoke start [-s servicename]</code> - Starts Docker containers for Nautobot, PostgreSQL, Redis, Celery, and Celery Beat (or a specific container/service, such as <code>invoke start -s redis</code>) to run in the background with debug disabled</li>
|
|
4936
|
+
<li><code>invoke start [-s servicename]</code> - Starts Docker containers for Nautobot, PostgreSQL, Redis, NGINX, Node.js, Celery, and Celery Beat (or a specific container/service, such as <code>invoke start -s redis</code>) to run in the background with debug disabled</li>
|
|
3666
4937
|
<li><code>invoke cli [-s servicename]</code> - Launch a <code>bash</code> shell inside the specified service container (if none is specified, defaults to the Nautobot container)</li>
|
|
3667
4938
|
<li><code>invoke stop [-s servicename]</code> - Stops all containers (or a specific container/service) created by <code>invoke start</code></li>
|
|
3668
4939
|
</ul>
|
|
3669
4940
|
<div class="admonition note">
|
|
3670
4941
|
<p class="admonition-title">Note</p>
|
|
3671
|
-
<p>The mkdocs
|
|
4942
|
+
<p>The <code>mkdocs</code> and <code>storybook</code> containers (see later) are not started automatically by <code>invoke start</code> or <code>invoke debug</code>. If desired, these may be started manually with <code>invoke start -s mkdocs</code> or <code>invoke start -s storybook</code> as appropriate.</p>
|
|
3672
4943
|
</div>
|
|
3673
4944
|
<div class="admonition tip">
|
|
3674
4945
|
<p class="admonition-title">Tip</p>
|
|
@@ -3713,11 +4984,19 @@
|
|
|
3713
4984
|
<p><a href="https://github.com/igorshubovych/markdownlint-cli">markdownlint-cli</a> is a tool used to validate and lint Markdown files, such as Nautobot's documentation, to ensure that they are correctly constructed. On macOS with <a href="https://brew.sh/">Homebrew</a> you can install markdownlint-cli by running:</p>
|
|
3714
4985
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-20-1" name="__codelineno-20-1" href="#__codelineno-20-1"></a>brew install markdownlint-cli
|
|
3715
4986
|
</code></pre></div>
|
|
4987
|
+
<h4 id="install-npm">Install npm<a class="headerlink" href="#install-npm" title="Permanent link">¶</a></h4>
|
|
4988
|
+
<p><a href="https://www.npmjs.com/">npm</a> is the tool used to install and compile the Nautobot front-end UI. On macOS with <a href="https://brew.sh">Homebrew</a> you can install npm by running:</p>
|
|
4989
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-21-1" name="__codelineno-21-1" href="#__codelineno-21-1"></a>brew install npm
|
|
4990
|
+
</code></pre></div>
|
|
4991
|
+
<p>You should then move to the <code>nautobot_ui/</code> subdirectory and run <code>npm install</code> to install all of the JS dependencies for local development of the Nautobot UI:</p>
|
|
4992
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-22-1" name="__codelineno-22-1" href="#__codelineno-22-1"></a>npm install
|
|
4993
|
+
</code></pre></div>
|
|
4994
|
+
<p>Be sure to switch back to the base directory of the repository after you do this.</p>
|
|
3716
4995
|
<h4 id="creating-a-python-virtual-environment">Creating a Python Virtual Environment<a class="headerlink" href="#creating-a-python-virtual-environment" title="Permanent link">¶</a></h4>
|
|
3717
4996
|
<p>A Python <a href="https://docs.python.org/3/tutorial/venv.html">virtual environment</a> (or <em>virtualenv</em>) is like a container for a set of Python packages. A virtualenv allow you to build environments suited to specific projects without interfering with system packages or other projects. When installed per the documentation, Nautobot uses a virtual environment in production.</p>
|
|
3718
4997
|
<p>For Nautobot development, we have selected Poetry, which will transparently create a virtualenv for you, automatically install all dependencies required for Nautobot to operate, and will also install the <code>nautobot-server</code> CLI command that you will utilize to interact with Nautobot from here on out.</p>
|
|
3719
4998
|
<p>Bootstrap your virtual environment using <code>poetry install</code>:</p>
|
|
3720
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4999
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-23-1" name="__codelineno-23-1" href="#__codelineno-23-1"></a>poetry install
|
|
3721
5000
|
</code></pre></div>
|
|
3722
5001
|
<div class="admonition hint">
|
|
3723
5002
|
<p class="admonition-title">Hint</p>
|
|
@@ -3725,44 +5004,44 @@
|
|
|
3725
5004
|
</div>
|
|
3726
5005
|
<p>This will create automatically create a virtualenv in your home directory, which houses a virtual copy of the Python executable and its related libraries and tooling. When running Nautobot for development, it will be run using the Python binary at found within the virtualenv.</p>
|
|
3727
5006
|
<p>Once created, you may activate the virtual environment using <code>poetry shell</code>:</p>
|
|
3728
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5007
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-24-1" name="__codelineno-24-1" href="#__codelineno-24-1"></a>poetry shell
|
|
3729
5008
|
</code></pre></div>
|
|
3730
5009
|
<p>Example output:</p>
|
|
3731
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3732
|
-
<a id="__codelineno-
|
|
3733
|
-
<a id="__codelineno-
|
|
3734
|
-
<a id="__codelineno-
|
|
5010
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-25-1" name="__codelineno-25-1" href="#__codelineno-25-1"></a>Spawning shell within /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8
|
|
5011
|
+
<a id="__codelineno-25-2" name="__codelineno-25-2" href="#__codelineno-25-2"></a>
|
|
5012
|
+
<a id="__codelineno-25-3" name="__codelineno-25-3" href="#__codelineno-25-3"></a>. /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8/bin/activate
|
|
5013
|
+
<a id="__codelineno-25-4" name="__codelineno-25-4" href="#__codelineno-25-4"></a>(nautobot-Ams_xyDt-py3.8) $
|
|
3735
5014
|
</code></pre></div>
|
|
3736
5015
|
<p>Notice that the console prompt changes to indicate the active environment. This updates the necessary system environment variables to ensure that any Python scripts are run within the virtual environment.</p>
|
|
3737
5016
|
<p>Observe also that the <code>python</code> interpreter is bound within the virtualenv:</p>
|
|
3738
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5017
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-26-1" name="__codelineno-26-1" href="#__codelineno-26-1"></a>which python
|
|
3739
5018
|
</code></pre></div>
|
|
3740
5019
|
<p>Example output:</p>
|
|
3741
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5020
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-27-1" name="__codelineno-27-1" href="#__codelineno-27-1"></a>(nautobot-Ams_xyDt-py3.8) $ /home/example/.cache/pypoetry/virtualenvs/nautobot-Ams_xyDt-py3.8/bin/python
|
|
3742
5021
|
</code></pre></div>
|
|
3743
5022
|
<p>To exit the virtual shell, use <code>exit</code>:</p>
|
|
3744
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5023
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-28-1" name="__codelineno-28-1" href="#__codelineno-28-1"></a>exit
|
|
3745
5024
|
</code></pre></div>
|
|
3746
5025
|
<p>Example output:</p>
|
|
3747
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5026
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-29-1" name="__codelineno-29-1" href="#__codelineno-29-1"></a>$
|
|
3748
5027
|
</code></pre></div>
|
|
3749
5028
|
<h4 id="working-with-poetry">Working with Poetry<a class="headerlink" href="#working-with-poetry" title="Permanent link">¶</a></h4>
|
|
3750
5029
|
<p>Poetry automatically installs your dependencies. However, if you need to install any additional dependencies this can be done with <code>pip</code>. For example, if you really like using <code>ipython</code> for development:</p>
|
|
3751
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5030
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-30-1" name="__codelineno-30-1" href="#__codelineno-30-1"></a>pip3 install ipython
|
|
3752
5031
|
</code></pre></div>
|
|
3753
5032
|
<p>Example output:</p>
|
|
3754
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3755
|
-
<a id="__codelineno-
|
|
3756
|
-
<a id="__codelineno-
|
|
5033
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-31-1" name="__codelineno-31-1" href="#__codelineno-31-1"></a>Collecting ipython
|
|
5034
|
+
<a id="__codelineno-31-2" name="__codelineno-31-2" href="#__codelineno-31-2"></a> Using cached ipython-7.20.0-py3-none-any.whl (784 kB)
|
|
5035
|
+
<a id="__codelineno-31-3" name="__codelineno-31-3" href="#__codelineno-31-3"></a> ...
|
|
3757
5036
|
</code></pre></div>
|
|
3758
5037
|
<ul>
|
|
3759
5038
|
<li>Install verify that you have the proper dependencies installed and are in the virtual environment via Poetry. This also ensures that you have the proper mkdocs themes installed.</li>
|
|
3760
5039
|
</ul>
|
|
3761
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3762
|
-
<a id="__codelineno-
|
|
5040
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-32-1" name="__codelineno-32-1" href="#__codelineno-32-1"></a>poetry<span class="w"> </span>shell
|
|
5041
|
+
<a id="__codelineno-32-2" name="__codelineno-32-2" href="#__codelineno-32-2"></a>poetry<span class="w"> </span>install
|
|
3763
5042
|
</code></pre></div>
|
|
3764
5043
|
<p>It may not always be convenient to enter into the virtual shell just to run programs. You may also execute a given command ad hoc within the project's virtual shell by using <code>poetry run</code>:</p>
|
|
3765
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5044
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-33-1" name="__codelineno-33-1" href="#__codelineno-33-1"></a>poetry run mkdocs serve
|
|
3766
5045
|
</code></pre></div>
|
|
3767
5046
|
<p>Check out the <a href="https://python-poetry.org/docs/basic-usage/">Poetry usage guide</a> for more tips.</p>
|
|
3768
5047
|
<h4 id="configuring-nautobot">Configuring Nautobot<a class="headerlink" href="#configuring-nautobot" title="Permanent link">¶</a></h4>
|
|
@@ -3777,23 +5056,23 @@
|
|
|
3777
5056
|
<p>Nautobot's configuration file is <code>nautobot_config.py</code>.</p>
|
|
3778
5057
|
<h5 id="initializing-a-config">Initializing a Config<a class="headerlink" href="#initializing-a-config" title="Permanent link">¶</a></h5>
|
|
3779
5058
|
<p>You may also initialize a new configuration using <code>nautobot-server init</code>:</p>
|
|
3780
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5059
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-34-1" name="__codelineno-34-1" href="#__codelineno-34-1"></a>nautobot-server init
|
|
3781
5060
|
</code></pre></div>
|
|
3782
5061
|
<p>Example output:</p>
|
|
3783
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5062
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-35-1" name="__codelineno-35-1" href="#__codelineno-35-1"></a>Configuration file created at '/home/example/.nautobot/nautobot_config.py'
|
|
3784
5063
|
</code></pre></div>
|
|
3785
5064
|
<p>You may also specify alternate file locations. Please refer to <a href="../configuration/index.html">Configuring Nautobot</a> for how to do that.</p>
|
|
3786
5065
|
<h5 id="using-the-development-config">Using the Development Config<a class="headerlink" href="#using-the-development-config" title="Permanent link">¶</a></h5>
|
|
3787
5066
|
<p>A <code>nautobot_config.py</code> suitable for development purposes can be found at <code>development/nautobot_config.py</code>. You may customize the values there or utilize environment variables to override the default values.</p>
|
|
3788
5067
|
<p>If you want to use this file, initialize a config first, then copy this file to the default location Nautobot expects to find its config:</p>
|
|
3789
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5068
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-36-1" name="__codelineno-36-1" href="#__codelineno-36-1"></a>cp development/nautobot_config.py ~/.nautobot/nautobot_config.py
|
|
3790
5069
|
</code></pre></div>
|
|
3791
5070
|
<h5 id="required-settings">Required Settings<a class="headerlink" href="#required-settings" title="Permanent link">¶</a></h5>
|
|
3792
5071
|
<p>A newly created configuration includes sane defaults. If you need to customize them, edit your <code>nautobot_config.py</code> and update the following settings as required:</p>
|
|
3793
5072
|
<ul>
|
|
3794
5073
|
<li><a href="../configuration/required-settings.html#allowed_hosts"><code>ALLOWED_HOSTS</code></a>: This can be set to <code>["*"]</code> for development purposes and must be set if <code>DEBUG=False</code></li>
|
|
3795
5074
|
<li><a href="../configuration/required-settings.html#databases"><code>DATABASES</code></a>: Database connection parameters, if different from the defaults</li>
|
|
3796
|
-
<li><strong>Redis settings</strong>: Redis configuration requires multiple settings
|
|
5075
|
+
<li><strong>Redis settings</strong>: Redis configuration requires multiple settings. The defaults should be fine for development.</li>
|
|
3797
5076
|
<li><a href="../configuration/optional-settings.html#debug"><code>DEBUG</code></a>: Set to <code>True</code> to enable verbose exception logging and, if installed, the <a href="https://django-debug-toolbar.readthedocs.io/en/latest/">Django debug toolbar</a></li>
|
|
3798
5077
|
<li><a href="../configuration/optional-settings.html#extra-applications"><code>EXTRA_INSTALLED_APPS</code></a>: Optionally provide a list of extra Django apps/plugins you may desire to use for development</li>
|
|
3799
5078
|
</ul>
|
|
@@ -3837,23 +5116,69 @@
|
|
|
3837
5116
|
</tbody>
|
|
3838
5117
|
</table>
|
|
3839
5118
|
<p>For example:</p>
|
|
3840
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5119
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-37-1" name="__codelineno-37-1" href="#__codelineno-37-1"></a>nautobot-server runserver
|
|
3841
5120
|
</code></pre></div>
|
|
3842
5121
|
<p>Example output:</p>
|
|
3843
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3844
|
-
<a id="__codelineno-
|
|
3845
|
-
<a id="__codelineno-
|
|
3846
|
-
<a id="__codelineno-
|
|
3847
|
-
<a id="__codelineno-
|
|
3848
|
-
<a id="__codelineno-
|
|
3849
|
-
<a id="__codelineno-
|
|
5122
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-38-1" name="__codelineno-38-1" href="#__codelineno-38-1"></a>Performing system checks...
|
|
5123
|
+
<a id="__codelineno-38-2" name="__codelineno-38-2" href="#__codelineno-38-2"></a>
|
|
5124
|
+
<a id="__codelineno-38-3" name="__codelineno-38-3" href="#__codelineno-38-3"></a>System check identified no issues (0 silenced).
|
|
5125
|
+
<a id="__codelineno-38-4" name="__codelineno-38-4" href="#__codelineno-38-4"></a>November 18, 2020 - 15:52:31
|
|
5126
|
+
<a id="__codelineno-38-5" name="__codelineno-38-5" href="#__codelineno-38-5"></a>Django version 3.1, using settings 'nautobot.core.settings'
|
|
5127
|
+
<a id="__codelineno-38-6" name="__codelineno-38-6" href="#__codelineno-38-6"></a>Starting development server at http://127.0.0.1:8080/
|
|
5128
|
+
<a id="__codelineno-38-7" name="__codelineno-38-7" href="#__codelineno-38-7"></a>Quit the server with CONTROL-C.
|
|
3850
5129
|
</code></pre></div>
|
|
3851
5130
|
<div class="admonition warning">
|
|
3852
5131
|
<p class="admonition-title">Warning</p>
|
|
3853
5132
|
<p>Do not use <code>poetry run nautobot-server runserver</code> as it will crash unless you also pass the <code>--noreload</code> flag, which somewhat defeats the purpose of using the development server. It is recommended to use <code>nautobot-server runserver</code> from within an active virtualenv (e.g. <code>poetry shell</code>). This is a <a href="https://github.com/python-poetry/poetry/issues/2435">known issue with Django and Poetry</a>.</p>
|
|
3854
5133
|
</div>
|
|
3855
5134
|
<p>Please see the <a href="https://docs.djangoproject.com/en/stable/ref/django-admin/#runserver">official Django documentation on <code>runserver</code></a> for more information.</p>
|
|
3856
|
-
<
|
|
5135
|
+
<div class="admonition note">
|
|
5136
|
+
<p class="admonition-title">Note</p>
|
|
5137
|
+
<p>When first started in Docker Compose, the Nautobot development server container will automatically install dependencies for building the React UI for Nautobot, then build this UI. This may take several minutes before the server becomes ready to accept web connections.</p>
|
|
5138
|
+
</div>
|
|
5139
|
+
<p>You can connect to the development server at <code>localhost:8080</code>, but normally you'll want to connect to the Node.js server instead (see below).</p>
|
|
5140
|
+
<h3 id="starting-the-nodejs-server">Starting the Node.js Server<a class="headerlink" href="#starting-the-nodejs-server" title="Permanent link">¶</a></h3>
|
|
5141
|
+
<p>In development, you should run a Node.js server instance as well. This will handle automatically rebuilding the UI when you make changes in the <code>nautobot/ui</code> directory.</p>
|
|
5142
|
+
<table>
|
|
5143
|
+
<thead>
|
|
5144
|
+
<tr>
|
|
5145
|
+
<th>Docker Compose Workflow</th>
|
|
5146
|
+
<th>Virtual Environment Workflow</th>
|
|
5147
|
+
</tr>
|
|
5148
|
+
</thead>
|
|
5149
|
+
<tbody>
|
|
5150
|
+
<tr>
|
|
5151
|
+
<td><code>invoke start</code></td>
|
|
5152
|
+
<td><code>cd nautobot/ui; npm run start</code></td>
|
|
5153
|
+
</tr>
|
|
5154
|
+
</tbody>
|
|
5155
|
+
</table>
|
|
5156
|
+
<div class="admonition note">
|
|
5157
|
+
<p class="admonition-title">Note</p>
|
|
5158
|
+
<p>In the Docker Compose workflow, the Node.js server will delay starting until the Nautobot development server has finished the initial UI build, which may take several minutes. This is normal.</p>
|
|
5159
|
+
</div>
|
|
5160
|
+
<p>You can connect to the Node.js server at <code>localhost:3000</code>.</p>
|
|
5161
|
+
<h3 id="starting-the-storybook-server">Starting the Storybook Server<a class="headerlink" href="#starting-the-storybook-server" title="Permanent link">¶</a></h3>
|
|
5162
|
+
<p>When working on the UI, you may find it useful to run a <a href="https://storybook.js.org/">Storybook</a> instance that provides interactive documentation of the <code>nautobot-ui</code> library used by Nautobot's user interface.</p>
|
|
5163
|
+
<table>
|
|
5164
|
+
<thead>
|
|
5165
|
+
<tr>
|
|
5166
|
+
<th>Docker Compose Workflow</th>
|
|
5167
|
+
<th>Virtual Environment Workflow</th>
|
|
5168
|
+
</tr>
|
|
5169
|
+
</thead>
|
|
5170
|
+
<tbody>
|
|
5171
|
+
<tr>
|
|
5172
|
+
<td><code>invoke start -s storybook</code></td>
|
|
5173
|
+
<td><code>TODO</code></td>
|
|
5174
|
+
</tr>
|
|
5175
|
+
</tbody>
|
|
5176
|
+
</table>
|
|
5177
|
+
<div class="admonition note">
|
|
5178
|
+
<p class="admonition-title">Note</p>
|
|
5179
|
+
<p>This container is not started by default when using <code>invoke start</code>. You must individually start it using <code>invoke start -s storybook</code>.</p>
|
|
5180
|
+
</div>
|
|
5181
|
+
<p>You can connect to Storybook at <code>localhost:6006</code>.</p>
|
|
3857
5182
|
<h3 id="starting-the-worker-server">Starting the Worker Server<a class="headerlink" href="#starting-the-worker-server" title="Permanent link">¶</a></h3>
|
|
3858
5183
|
<p>In order to run Nautobot Jobs or anything that requires a worker you must start a Celery worker.</p>
|
|
3859
5184
|
<p>The worker is started in Docker Workflow with <a href="https://pythonhosted.org/watchdog/">watchdog</a> and can be setup to be started with watchdog in the Virtual Environment Workflow. Watchdog provides a similar experience to the Django lightweight HTTP/WSGI for restarting your application automatically. Watchdog can watch for changes on your filesystem, this is helpful when adjusting existing Python files to not have to restart the celery worker when testing jobs.</p>
|
|
@@ -3893,21 +5218,21 @@
|
|
|
3893
5218
|
</tbody>
|
|
3894
5219
|
</table>
|
|
3895
5220
|
<p>For example:</p>
|
|
3896
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5221
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-39-1" name="__codelineno-39-1" href="#__codelineno-39-1"></a>nautobot-server<span class="w"> </span>nbshell
|
|
3897
5222
|
</code></pre></div>
|
|
3898
5223
|
<p>Example output:</p>
|
|
3899
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3900
|
-
<a id="__codelineno-
|
|
3901
|
-
<a id="__codelineno-
|
|
3902
|
-
<a id="__codelineno-
|
|
3903
|
-
<a id="__codelineno-
|
|
3904
|
-
<a id="__codelineno-
|
|
3905
|
-
<a id="__codelineno-
|
|
3906
|
-
<a id="__codelineno-
|
|
3907
|
-
<a id="__codelineno-
|
|
3908
|
-
<a id="__codelineno-
|
|
3909
|
-
<a id="__codelineno-
|
|
3910
|
-
<a id="__codelineno-
|
|
5224
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-40-1" name="__codelineno-40-1" href="#__codelineno-40-1"></a># Shell Plus Model Imports
|
|
5225
|
+
<a id="__codelineno-40-2" name="__codelineno-40-2" href="#__codelineno-40-2"></a>...
|
|
5226
|
+
<a id="__codelineno-40-3" name="__codelineno-40-3" href="#__codelineno-40-3"></a># Shell Plus Django Imports
|
|
5227
|
+
<a id="__codelineno-40-4" name="__codelineno-40-4" href="#__codelineno-40-4"></a>...
|
|
5228
|
+
<a id="__codelineno-40-5" name="__codelineno-40-5" href="#__codelineno-40-5"></a># Django version 3.2.16
|
|
5229
|
+
<a id="__codelineno-40-6" name="__codelineno-40-6" href="#__codelineno-40-6"></a># Nautobot version 2.0.0a0
|
|
5230
|
+
<a id="__codelineno-40-7" name="__codelineno-40-7" href="#__codelineno-40-7"></a># Example Nautobot App version 1.0.0
|
|
5231
|
+
<a id="__codelineno-40-8" name="__codelineno-40-8" href="#__codelineno-40-8"></a>Python 3.8.16 (default, Mar 23 2023, 04:48:11)
|
|
5232
|
+
<a id="__codelineno-40-9" name="__codelineno-40-9" href="#__codelineno-40-9"></a>[GCC 10.2.1 20210110] on linux
|
|
5233
|
+
<a id="__codelineno-40-10" name="__codelineno-40-10" href="#__codelineno-40-10"></a>Type "help", "copyright", "credits" or "license" for more information.
|
|
5234
|
+
<a id="__codelineno-40-11" name="__codelineno-40-11" href="#__codelineno-40-11"></a>(InteractiveConsole)
|
|
5235
|
+
<a id="__codelineno-40-12" name="__codelineno-40-12" href="#__codelineno-40-12"></a>>>>
|
|
3911
5236
|
</code></pre></div>
|
|
3912
5237
|
<h3 id="post-upgrade-operations">Post-upgrade Operations<a class="headerlink" href="#post-upgrade-operations" title="Permanent link">¶</a></h3>
|
|
3913
5238
|
<p>There will be times where you're working with the bleeding edge of Nautobot from the <code>develop</code> branch or feature branches and will need to pull in database changes or run server operations.</p>
|
|
@@ -3934,22 +5259,22 @@
|
|
|
3934
5259
|
</div>
|
|
3935
5260
|
<p>Sometimes when files are renamed, moved, or deleted and you've been working in the same environment for a while, you can encounter weird behavior. If this happens, don't panic and nuke your environment.</p>
|
|
3936
5261
|
<p>First, use <code>pip3</code> to explicitly uninstall the Nautobot package from the environment:</p>
|
|
3937
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5262
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-41-1" name="__codelineno-41-1" href="#__codelineno-41-1"></a>pip3 uninstall -y nautobot
|
|
3938
5263
|
</code></pre></div>
|
|
3939
5264
|
<p>Example output:</p>
|
|
3940
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3941
|
-
<a id="__codelineno-
|
|
3942
|
-
<a id="__codelineno-
|
|
5265
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-42-1" name="__codelineno-42-1" href="#__codelineno-42-1"></a>Found existing installation: nautobot 1.0.0b2
|
|
5266
|
+
<a id="__codelineno-42-2" name="__codelineno-42-2" href="#__codelineno-42-2"></a>Uninstalling nautobot-1.0.0b2:
|
|
5267
|
+
<a id="__codelineno-42-3" name="__codelineno-42-3" href="#__codelineno-42-3"></a> Successfully uninstalled nautobot-1.0.0b2
|
|
3943
5268
|
</code></pre></div>
|
|
3944
5269
|
<p>Then try to just have Poetry do the right thing by telling it to install again:</p>
|
|
3945
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5270
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-43-1" name="__codelineno-43-1" href="#__codelineno-43-1"></a>poetry install
|
|
3946
5271
|
</code></pre></div>
|
|
3947
5272
|
<p>Example output:</p>
|
|
3948
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3949
|
-
<a id="__codelineno-
|
|
3950
|
-
<a id="__codelineno-
|
|
3951
|
-
<a id="__codelineno-
|
|
3952
|
-
<a id="__codelineno-
|
|
5273
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-44-1" name="__codelineno-44-1" href="#__codelineno-44-1"></a>Installing dependencies from lock file
|
|
5274
|
+
<a id="__codelineno-44-2" name="__codelineno-44-2" href="#__codelineno-44-2"></a>
|
|
5275
|
+
<a id="__codelineno-44-3" name="__codelineno-44-3" href="#__codelineno-44-3"></a>No dependencies to install or update
|
|
5276
|
+
<a id="__codelineno-44-4" name="__codelineno-44-4" href="#__codelineno-44-4"></a>
|
|
5277
|
+
<a id="__codelineno-44-5" name="__codelineno-44-5" href="#__codelineno-44-5"></a>Installing the current project: nautobot (1.0.0-beta.2)
|
|
3953
5278
|
</code></pre></div>
|
|
3954
5279
|
<h3 id="running-tests">Running Tests<a class="headerlink" href="#running-tests" title="Permanent link">¶</a></h3>
|
|
3955
5280
|
<p>Throughout the course of development, it's a good idea to occasionally run Nautobot's test suite to catch any potential errors. Tests come in two primary flavors: Unit tests and integration tests.</p>
|
|
@@ -4067,7 +5392,7 @@
|
|
|
4067
5392
|
</tbody>
|
|
4068
5393
|
</table>
|
|
4069
5394
|
<h3 id="verifying-code-style-and-static-analysis">Verifying Code Style and Static Analysis<a class="headerlink" href="#verifying-code-style-and-static-analysis" title="Permanent link">¶</a></h3>
|
|
4070
|
-
<p>To enforce best practices around consistent <a href="style-guide.html">coding style</a>, Nautobot uses <a href="https://flake8.pycqa.org/">Flake8</a
|
|
5395
|
+
<p>To enforce best practices around consistent <a href="style-guide.html">coding style</a>, Nautobot uses <a href="https://flake8.pycqa.org/">Flake8</a>, <a href="https://black.readthedocs.io/">Black</a>, <a href="https://eslint.org">ESLint</a>, and <a href="https://prettier.io">Prettier</a>. Additionally, <a href="https://en.wikipedia.org/wiki/Static_program_analysis">static analysis</a> of Nautobot code is performed by <a href="https://pylint.pycqa.org/en/latest/">Pylint</a>. You should run all of these commands and ensure that they pass fully with regard to your code changes before opening a pull request upstream.</p>
|
|
4071
5396
|
<table>
|
|
4072
5397
|
<thead>
|
|
4073
5398
|
<tr>
|
|
@@ -4085,6 +5410,14 @@
|
|
|
4085
5410
|
<td><code>black</code></td>
|
|
4086
5411
|
</tr>
|
|
4087
5412
|
<tr>
|
|
5413
|
+
<td><code>invoke eslint</code></td>
|
|
5414
|
+
<td><code>npx eslint .</code></td>
|
|
5415
|
+
</tr>
|
|
5416
|
+
<tr>
|
|
5417
|
+
<td><code>invoke prettier</code></td>
|
|
5418
|
+
<td><code>npx prettier -c .</code></td>
|
|
5419
|
+
</tr>
|
|
5420
|
+
<tr>
|
|
4088
5421
|
<td><code>invoke pylint</code></td>
|
|
4089
5422
|
<td><code>nautobot-server pylint nautobot tasks.py && nautobot-server pylint --recursive development/ examples/</code></td>
|
|
4090
5423
|
</tr>
|
|
@@ -4179,8 +5512,8 @@
|
|
|
4179
5512
|
</table>
|
|
4180
5513
|
<h2 id="submitting-pull-requests">Submitting Pull Requests<a class="headerlink" href="#submitting-pull-requests" title="Permanent link">¶</a></h2>
|
|
4181
5514
|
<p>Once you're happy with your work and have verified that all tests pass, commit your changes and push it upstream to your fork. Always provide descriptive (but not excessively verbose) commit messages. When working on a specific issue, be sure to reference it.</p>
|
|
4182
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4183
|
-
<a id="__codelineno-
|
|
5515
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-45-1" name="__codelineno-45-1" href="#__codelineno-45-1"></a>git commit -m "Closes #1234: Add IPv5 support"
|
|
5516
|
+
<a id="__codelineno-45-2" name="__codelineno-45-2" href="#__codelineno-45-2"></a>git push origin
|
|
4184
5517
|
</code></pre></div>
|
|
4185
5518
|
<p>Once your fork has the new commit, submit a <a href="https://github.com/nautobot/nautobot/compare">pull request</a> to the Nautobot repo to propose the changes. Be sure to provide a detailed accounting of the changes being made and the reasons for doing so.</p>
|
|
4186
5519
|
<p>Once submitted, a maintainer will review your pull request and either merge it or request changes. If changes are needed, you can make them via new commits to your fork: The pull request will update automatically.</p>
|
|
@@ -4192,11 +5525,11 @@
|
|
|
4192
5525
|
<p>Below are common issues you might encounter in your development environment and how to address them.</p>
|
|
4193
5526
|
<h3 id="fatal-sorry-too-many-clients-already">FATAL: sorry, too many clients already<a class="headerlink" href="#fatal-sorry-too-many-clients-already" title="Permanent link">¶</a></h3>
|
|
4194
5527
|
<p>When using <code>nautobot-server runserver</code> to do development you might run into a traceback that looks something like this:</p>
|
|
4195
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4196
|
-
<a id="__codelineno-
|
|
5528
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-46-1" name="__codelineno-46-1" href="#__codelineno-46-1"></a>Exception Type: OperationalError at /extras/tags/
|
|
5529
|
+
<a id="__codelineno-46-2" name="__codelineno-46-2" href="#__codelineno-46-2"></a>Exception Value: FATAL: sorry, too many clients already
|
|
4197
5530
|
</code></pre></div>
|
|
4198
5531
|
<p>The <code>runserver</code> development server is multi-threaded by default, which means that every request is creating its own connection. If you are doing some local testing or development that is resulting in a lot of connections to the database, pass <code>--nothreading</code> to the runserver command to disable threading:</p>
|
|
4199
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
5532
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-47-1" name="__codelineno-47-1" href="#__codelineno-47-1"></a>nautobot-server runserver --nothreading
|
|
4200
5533
|
</code></pre></div>
|
|
4201
5534
|
|
|
4202
5535
|
|
|
@@ -4214,42 +5547,6 @@
|
|
|
4214
5547
|
|
|
4215
5548
|
<footer class="md-footer">
|
|
4216
5549
|
|
|
4217
|
-
|
|
4218
|
-
<nav class="md-footer__inner md-grid" aria-label="Footer" >
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
<a href="index.html" class="md-footer__link md-footer__link--prev" aria-label="Previous: Introduction" rel="prev">
|
|
4222
|
-
<div class="md-footer__button md-icon">
|
|
4223
|
-
<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>
|
|
4224
|
-
</div>
|
|
4225
|
-
<div class="md-footer__title">
|
|
4226
|
-
<div class="md-ellipsis">
|
|
4227
|
-
<span class="md-footer__direction">
|
|
4228
|
-
Previous
|
|
4229
|
-
</span>
|
|
4230
|
-
Introduction
|
|
4231
|
-
</div>
|
|
4232
|
-
</div>
|
|
4233
|
-
</a>
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
<a href="docker-compose-advanced-use-cases.html" class="md-footer__link md-footer__link--next" aria-label="Next: Advanced Docker Compose Usage" rel="next">
|
|
4238
|
-
<div class="md-footer__title">
|
|
4239
|
-
<div class="md-ellipsis">
|
|
4240
|
-
<span class="md-footer__direction">
|
|
4241
|
-
Next
|
|
4242
|
-
</span>
|
|
4243
|
-
Advanced Docker Compose Usage
|
|
4244
|
-
</div>
|
|
4245
|
-
</div>
|
|
4246
|
-
<div class="md-footer__button md-icon">
|
|
4247
|
-
<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>
|
|
4248
|
-
</div>
|
|
4249
|
-
</a>
|
|
4250
|
-
|
|
4251
|
-
</nav>
|
|
4252
|
-
|
|
4253
5550
|
<div class="md-footer-meta md-typeset">
|
|
4254
5551
|
<div class="md-footer-meta__inner md-grid">
|
|
4255
5552
|
<div class="md-copyright">
|
|
@@ -4277,32 +5574,42 @@
|
|
|
4277
5574
|
|
|
4278
5575
|
|
|
4279
5576
|
|
|
5577
|
+
|
|
5578
|
+
|
|
4280
5579
|
<a href="https://blog.networktocode.com/blog/tags/nautobot" target="_blank" rel="noopener" title="Network to Code Blog" class="md-social__link">
|
|
4281
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.
|
|
5580
|
+
<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>
|
|
4282
5581
|
</a>
|
|
4283
5582
|
|
|
4284
5583
|
|
|
4285
5584
|
|
|
5585
|
+
|
|
5586
|
+
|
|
4286
5587
|
<a href="https://www.youtube.com/playlist?list=PLjA0bhxgryJ2Ts4GJMDA-tPzVWEncv4pb" target="_blank" rel="noopener" title="Nautobot Videos" class="md-social__link">
|
|
4287
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Free 6.
|
|
5588
|
+
<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>
|
|
4288
5589
|
</a>
|
|
4289
5590
|
|
|
4290
5591
|
|
|
4291
5592
|
|
|
5593
|
+
|
|
5594
|
+
|
|
4292
5595
|
<a href="https://www.networktocode.com/community/" target="_blank" rel="noopener" title="Network to Code Community" class="md-social__link">
|
|
4293
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.
|
|
5596
|
+
<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>
|
|
4294
5597
|
</a>
|
|
4295
5598
|
|
|
4296
5599
|
|
|
4297
5600
|
|
|
5601
|
+
|
|
5602
|
+
|
|
4298
5603
|
<a href="https://github.com/nautobot/nautobot" target="_blank" rel="noopener" title="GitHub Repo" class="md-social__link">
|
|
4299
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.
|
|
5604
|
+
<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>
|
|
4300
5605
|
</a>
|
|
4301
5606
|
|
|
4302
5607
|
|
|
4303
5608
|
|
|
5609
|
+
|
|
5610
|
+
|
|
4304
5611
|
<a href="https://twitter.com/networktocode" target="_blank" rel="noopener" title="Network to Code Twitter" class="md-social__link">
|
|
4305
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.
|
|
5612
|
+
<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>
|
|
4306
5613
|
</a>
|
|
4307
5614
|
|
|
4308
5615
|
</div>
|
|
@@ -4316,14 +5623,13 @@
|
|
|
4316
5623
|
<div class="md-dialog__inner md-typeset"></div>
|
|
4317
5624
|
</div>
|
|
4318
5625
|
|
|
4319
|
-
<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.
|
|
5626
|
+
<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>
|
|
4320
5627
|
|
|
4321
5628
|
|
|
4322
|
-
<script src="../assets/javascripts/bundle.
|
|
5629
|
+
<script src="../assets/javascripts/bundle.51198bba.min.js"></script>
|
|
4323
5630
|
|
|
4324
5631
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
4325
5632
|
|
|
4326
5633
|
|
|
4327
|
-
|
|
4328
5634
|
</body>
|
|
4329
5635
|
</html>
|