nautobot 2.0.0a3__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/apps/api.py +6 -8
- nautobot/apps/forms.py +0 -2
- nautobot/apps/ui.py +0 -8
- nautobot/circuits/api/serializers.py +9 -117
- nautobot/circuits/api/urls.py +1 -1
- nautobot/circuits/api/views.py +0 -1
- nautobot/circuits/forms.py +0 -65
- nautobot/circuits/migrations/0014_related_name_changes.py +1 -1
- 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 -87
- nautobot/circuits/navigation.py +14 -69
- nautobot/circuits/signals.py +0 -2
- nautobot/circuits/tables.py +39 -1
- nautobot/circuits/tests/integration/test_relationships.py +9 -9
- nautobot/circuits/tests/test_api.py +4 -8
- nautobot/circuits/tests/test_filters.py +10 -4
- nautobot/circuits/tests/test_models.py +5 -1
- nautobot/circuits/tests/test_views.py +27 -5
- nautobot/circuits/views.py +18 -10
- nautobot/core/api/__init__.py +8 -2
- 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 +4 -0
- nautobot/core/api/parsers.py +154 -0
- nautobot/core/api/renderers.py +153 -2
- nautobot/core/api/schema.py +46 -2
- nautobot/core/api/serializers.py +377 -35
- 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 -72
- nautobot/core/apps/__init__.py +138 -220
- nautobot/core/celery/__init__.py +112 -41
- nautobot/core/celery/backends.py +19 -12
- 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 +0 -113
- nautobot/core/{cli.py → cli/__init__.py} +1 -1
- nautobot/core/cli/__main__.py +3 -0
- nautobot/core/constants.py +0 -24
- 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 +38 -65
- nautobot/core/forms/forms.py +4 -1
- nautobot/core/forms/utils.py +0 -52
- 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/generate_test_data.py +3 -2
- nautobot/core/management/commands/post_upgrade.py +24 -24
- nautobot/core/models/__init__.py +26 -1
- nautobot/core/models/fields.py +24 -5
- nautobot/core/models/generics.py +2 -42
- nautobot/core/models/managers.py +5 -0
- nautobot/core/models/name_color_content_types.py +0 -14
- nautobot/core/models/tree_queries.py +14 -4
- nautobot/core/models/utils.py +5 -6
- nautobot/core/models/validators.py +17 -8
- nautobot/core/releases.py +8 -10
- nautobot/core/settings.py +80 -42
- 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 +3 -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 -20
- 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 -28
- nautobot/core/testing/__init__.py +47 -44
- nautobot/core/testing/api.py +362 -47
- nautobot/core/testing/filters.py +1 -1
- nautobot/core/testing/migrations.py +2 -0
- nautobot/core/testing/mixins.py +22 -9
- nautobot/core/testing/schema.py +2 -1
- nautobot/core/testing/views.py +21 -46
- 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/test_api.py +290 -21
- nautobot/core/tests/test_checks.py +0 -7
- nautobot/core/tests/test_filters.py +107 -59
- nautobot/core/tests/test_forms.py +26 -92
- nautobot/core/tests/test_graphql.py +110 -77
- nautobot/core/tests/test_logging.py +4 -0
- nautobot/core/tests/test_managers.py +3 -1
- nautobot/core/tests/test_models.py +2 -0
- nautobot/core/tests/test_paginator.py +3 -1
- nautobot/core/tests/test_releases.py +12 -12
- nautobot/core/tests/test_templatetags_helpers.py +4 -4
- nautobot/core/tests/test_utils.py +32 -68
- nautobot/core/tests/test_views.py +12 -15
- nautobot/core/utils/data.py +17 -0
- nautobot/core/utils/deprecation.py +9 -6
- nautobot/core/utils/filtering.py +8 -3
- nautobot/core/utils/git.py +12 -4
- nautobot/core/utils/lookup.py +3 -1
- nautobot/core/utils/requests.py +1 -104
- nautobot/core/views/__init__.py +1 -0
- nautobot/core/views/generic.py +75 -110
- nautobot/core/views/mixins.py +52 -61
- nautobot/core/views/renderers.py +6 -7
- nautobot/core/views/utils.py +80 -0
- nautobot/dcim/api/serializers.py +160 -667
- nautobot/dcim/api/urls.py +1 -1
- nautobot/dcim/api/views.py +7 -44
- nautobot/dcim/choices.py +2 -0
- nautobot/dcim/filters/__init__.py +21 -0
- nautobot/dcim/form_mixins.py +1 -27
- nautobot/dcim/forms.py +19 -765
- nautobot/dcim/migrations/0024_alter_device_and_rack_role_add_new_role.py +2 -1
- nautobot/dcim/migrations/0025_device_and_rack_roles_data_migrations.py +19 -13
- nautobot/dcim/migrations/0027_remove_device_role_and_rack_role.py +1 -1
- nautobot/dcim/migrations/0028_rename_foreignkey_fields.py +1 -1
- nautobot/dcim/migrations/0030_migrate_region_and_site_data_to_locations.py +2 -2
- nautobot/dcim/migrations/0035_related_name_changes.py +1 -1
- nautobot/dcim/migrations/0036_remove_region_and_site.py +1 -1
- nautobot/dcim/migrations/0040_tagsfield.py +109 -0
- nautobot/dcim/migrations/{0040_ipam__namespaces.py → 0041_ipam__namespaces.py} +1 -1
- nautobot/dcim/migrations/0042_fixup_null_statuses.py +51 -0
- nautobot/dcim/migrations/0043_status_nonnullable.py +72 -0
- nautobot/dcim/models/cables.py +3 -33
- nautobot/dcim/models/device_component_templates.py +6 -0
- nautobot/dcim/models/device_components.py +12 -198
- nautobot/dcim/models/devices.py +30 -143
- nautobot/dcim/models/locations.py +3 -64
- nautobot/dcim/models/power.py +3 -50
- nautobot/dcim/models/racks.py +7 -84
- nautobot/dcim/navigation.py +141 -467
- nautobot/dcim/signals.py +0 -2
- nautobot/dcim/tables/locations.py +2 -2
- nautobot/dcim/tables/power.py +1 -2
- nautobot/dcim/templates/dcim/console_port_connection_list.html +7 -0
- nautobot/dcim/templates/dcim/devicetype.html +2 -2
- nautobot/dcim/templates/dcim/interface_connection_list.html +7 -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/test_api.py +166 -81
- nautobot/dcim/tests/test_cablepaths.py +41 -35
- nautobot/dcim/tests/test_filters.py +67 -23
- nautobot/dcim/tests/test_forms.py +5 -205
- nautobot/dcim/tests/test_graphql.py +7 -2
- nautobot/dcim/tests/test_migrations.py +6 -11
- nautobot/dcim/tests/test_models.py +182 -110
- nautobot/dcim/tests/test_natural_ordering.py +11 -8
- nautobot/dcim/tests/test_signals.py +6 -3
- nautobot/dcim/tests/test_views.py +197 -175
- nautobot/dcim/urls.py +11 -16
- nautobot/dcim/views.py +7 -134
- 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 +177 -195
- nautobot/docs/administration/nautobot-server.md +6 -21
- nautobot/docs/administration/replicating-nautobot.md +0 -10
- nautobot/docs/configuration/optional-settings.md +32 -41
- nautobot/docs/configuration/required-settings.md +11 -52
- nautobot/docs/development/application-registry.md +2 -13
- nautobot/docs/development/extending-models.md +15 -17
- nautobot/docs/development/generic-views.md +0 -2
- nautobot/docs/development/getting-started.md +55 -5
- nautobot/docs/development/navigation-menu.md +22 -93
- nautobot/docs/development/react-ui.md +105 -0
- nautobot/docs/development/role-internals.md +1 -3
- nautobot/docs/development/style-guide.md +6 -4
- nautobot/docs/index.md +3 -2
- nautobot/docs/installation/migrating-from-netbox.md +11 -42
- 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 +170 -747
- 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/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/virtualization/virtualmachine.md +3 -0
- nautobot/docs/plugins/development.md +83 -21
- nautobot/docs/release-notes/version-1.5.md +53 -0
- nautobot/docs/release-notes/version-2.0.md +180 -0
- nautobot/docs/requirements.txt +1 -0
- 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 -158
- nautobot/extras/api/serializers.py +165 -700
- nautobot/extras/api/urls.py +1 -1
- nautobot/extras/api/views.py +294 -280
- nautobot/extras/apps.py +4 -7
- nautobot/extras/choices.py +11 -9
- 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/filters/__init__.py +20 -19
- nautobot/extras/filters/mixins.py +4 -4
- nautobot/extras/forms/forms.py +63 -127
- nautobot/extras/forms/mixins.py +23 -51
- nautobot/extras/health_checks.py +0 -33
- nautobot/extras/jobs.py +387 -565
- nautobot/extras/management/commands/runjob.py +24 -62
- nautobot/extras/managers.py +30 -7
- 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 -1
- nautobot/extras/migrations/{0059_alter_joblogentry_scheduledjob_webhook_fields.py → 0060_alter_joblogentry_scheduledjob_webhook_fields.py} +1 -1
- nautobot/extras/migrations/{0060_role_and_alter_status.py → 0061_role_and_alter_status.py} +1 -7
- nautobot/extras/migrations/{0061_collect_roles_from_related_apps_roles.py → 0062_collect_roles_from_related_apps_roles.py} +33 -32
- nautobot/extras/migrations/{0062_alter_role_options.py → 0063_alter_role_options.py} +1 -1
- nautobot/extras/migrations/{0063_alter_configcontext_and_add_new_role.py → 0064_alter_configcontext_and_add_new_role.py} +1 -1
- nautobot/extras/migrations/0065_configcontext_data_migrations.py +44 -0
- nautobot/extras/migrations/{0065_rename_configcontext_role.py → 0066_rename_configcontext_role.py} +1 -1
- nautobot/extras/migrations/{0066_jobresult__add_celery_fields.py → 0067_jobresult__add_celery_fields.py} +36 -2
- nautobot/extras/migrations/{0067_created_datetime.py → 0068_created_datetime.py} +1 -1
- nautobot/extras/migrations/{0068_remove_site_and_region_attributes_from_config_context.py → 0069_remove_site_and_region_attributes_from_config_context.py} +1 -1
- 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 -1
- 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 -9
- nautobot/extras/migrations/{0073_remove_gitrepository_fields.py → 0074_remove_gitrepository_fields.py} +1 -1
- 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/{0077_remove_slug.py → 0078_remove_slug.py} +1 -5
- 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 -6
- nautobot/extras/models/jobs.py +189 -321
- nautobot/extras/models/mixins.py +0 -71
- nautobot/extras/models/models.py +0 -19
- nautobot/extras/models/relationships.py +19 -13
- nautobot/extras/models/roles.py +0 -34
- nautobot/extras/models/secrets.py +2 -26
- 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 -120
- nautobot/extras/plugins/utils.py +0 -3
- nautobot/extras/plugins/validators.py +5 -4
- nautobot/extras/plugins/views.py +16 -3
- nautobot/extras/querysets.py +1 -7
- nautobot/extras/registry.py +3 -0
- nautobot/extras/signals.py +26 -60
- nautobot/extras/tables.py +34 -40
- 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/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 +15 -17
- nautobot/extras/templates/extras/jobresult.html +24 -6
- nautobot/extras/templates/extras/scheduledjob.html +2 -2
- nautobot/extras/templates/extras/secret.html +28 -0
- nautobot/extras/templatetags/job_buttons.py +1 -0
- 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/test_computedfields.py +1 -1
- nautobot/extras/tests/integration/test_configcontextschema.py +5 -3
- nautobot/extras/tests/integration/test_customfields.py +4 -2
- nautobot/extras/tests/integration/test_dynamicgroups.py +1 -1
- nautobot/extras/tests/integration/test_jobs.py +25 -27
- nautobot/extras/tests/integration/test_notes.py +8 -4
- nautobot/extras/tests/integration/test_relationships.py +2 -2
- nautobot/extras/tests/test_api.py +649 -642
- nautobot/extras/tests/test_changelog.py +3 -3
- nautobot/extras/tests/test_context_managers.py +5 -3
- nautobot/extras/tests/test_customfields.py +92 -50
- nautobot/extras/tests/test_datasources.py +189 -112
- nautobot/extras/tests/test_dynamicgroups.py +7 -8
- nautobot/extras/tests/test_filters.py +137 -89
- nautobot/extras/tests/test_forms.py +73 -75
- nautobot/extras/tests/{test_scripts.py → test_job_variables.py} +43 -49
- nautobot/extras/tests/test_jobs.py +262 -263
- nautobot/extras/tests/test_migrations.py +4 -3
- nautobot/extras/tests/test_models.py +116 -161
- nautobot/extras/tests/test_plugins.py +38 -60
- nautobot/extras/tests/test_relationships.py +167 -120
- nautobot/extras/tests/test_tags.py +6 -11
- nautobot/extras/tests/test_utils.py +31 -1
- nautobot/extras/tests/test_views.py +201 -145
- nautobot/extras/tests/test_webhooks.py +6 -2
- nautobot/extras/urls.py +42 -42
- nautobot/extras/utils.py +137 -163
- nautobot/extras/views.py +78 -152
- nautobot/ipam/api/fields.py +17 -0
- nautobot/ipam/api/serializers.py +58 -164
- nautobot/ipam/api/urls.py +1 -1
- nautobot/ipam/api/views.py +3 -2
- nautobot/ipam/apps.py +1 -2
- nautobot/ipam/filters.py +1 -10
- nautobot/ipam/forms.py +4 -177
- nautobot/ipam/lookups.py +1 -0
- nautobot/ipam/management/commands/__init__.py +0 -0
- nautobot/ipam/management/commands/fix_prefix_broadcast.py +17 -0
- nautobot/ipam/migrations/0010_alter_ipam_role_add_new_role.py +1 -1
- nautobot/ipam/migrations/0011_migrate_ipam_role_data.py +32 -38
- nautobot/ipam/migrations/0020_related_name_changes.py +1 -1
- nautobot/ipam/migrations/0022_aggregate_to_prefix_data_migration.py +2 -2
- nautobot/ipam/migrations/0028_tagsfield.py +44 -0
- nautobot/ipam/migrations/0029_ip_address_to_interface_uniqueness_constraints.py +18 -0
- nautobot/ipam/migrations/{0028_ipam__namespaces.py → 0030_ipam__namespaces.py} +77 -28
- 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 +100 -236
- nautobot/ipam/navigation.py +36 -181
- nautobot/ipam/querysets.py +20 -25
- nautobot/ipam/signals.py +49 -6
- nautobot/ipam/tables.py +10 -3
- 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 +17 -4
- nautobot/ipam/templates/ipam/namespace_vrfs.html +11 -0
- nautobot/ipam/templates/ipam/prefix.html +1 -1
- nautobot/ipam/templates/ipam/vlangroup.html +0 -13
- nautobot/ipam/templates/ipam/vrf_edit.html +6 -0
- nautobot/ipam/tests/integration/test_prefixes.py +3 -26
- nautobot/ipam/tests/test_api.py +22 -19
- nautobot/ipam/tests/test_filters.py +59 -23
- nautobot/ipam/tests/test_migrations.py +6 -10
- nautobot/ipam/tests/test_models.py +323 -198
- nautobot/ipam/tests/test_ordering.py +2 -2
- nautobot/ipam/tests/test_querysets.py +44 -24
- nautobot/ipam/tests/test_views.py +73 -26
- nautobot/ipam/urls.py +16 -0
- nautobot/ipam/{utils.py → utils/__init__.py} +2 -2
- nautobot/ipam/utils/migrations.py +713 -0
- nautobot/ipam/views.py +137 -20
- nautobot/project-static/docs/404.html +1178 -10
- nautobot/project-static/docs/additional-features/caching.html +1224 -159
- nautobot/project-static/docs/additional-features/change-logging.html +1180 -12
- nautobot/project-static/docs/additional-features/config-contexts.html +1180 -12
- nautobot/project-static/docs/additional-features/graphql.html +1179 -11
- nautobot/project-static/docs/additional-features/healthcheck.html +1180 -12
- nautobot/project-static/docs/additional-features/job-scheduling-and-approvals.html +1184 -12
- nautobot/project-static/docs/additional-features/jobs.html +1514 -328
- nautobot/project-static/docs/additional-features/napalm.html +1180 -12
- nautobot/project-static/docs/additional-features/prometheus-metrics.html +1180 -12
- nautobot/project-static/docs/additional-features/template-filters.html +1180 -12
- nautobot/project-static/docs/administration/celery-queues.html +1178 -10
- nautobot/project-static/docs/administration/nautobot-server.html +1451 -304
- nautobot/project-static/docs/administration/nautobot-shell.html +1178 -10
- nautobot/project-static/docs/administration/permissions.html +1178 -10
- nautobot/project-static/docs/administration/replicating-nautobot.html +1262 -113
- nautobot/project-static/docs/apps/index.html +1178 -10
- nautobot/project-static/docs/apps/nautobot-apps.html +1178 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/__init__.html +1580 -426
- nautobot/project-static/docs/code-reference/nautobot/apps/admin.html +1178 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/api.html +3481 -1838
- nautobot/project-static/docs/code-reference/nautobot/apps/choices.html +1178 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/config.html +1178 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/datasources.html +1185 -11
- nautobot/project-static/docs/code-reference/nautobot/apps/filters.html +1719 -551
- nautobot/project-static/docs/code-reference/nautobot/apps/forms.html +2062 -930
- nautobot/project-static/docs/code-reference/nautobot/apps/models.html +1946 -659
- nautobot/project-static/docs/code-reference/nautobot/apps/secrets.html +1180 -12
- nautobot/project-static/docs/code-reference/nautobot/apps/tables.html +1189 -21
- nautobot/project-static/docs/code-reference/nautobot/apps/testing.html +9283 -6218
- nautobot/project-static/docs/code-reference/nautobot/apps/ui.html +2734 -2122
- nautobot/project-static/docs/code-reference/nautobot/apps/urls.html +1178 -10
- nautobot/project-static/docs/code-reference/nautobot/apps/views.html +2337 -1300
- nautobot/project-static/docs/configuration/authentication/ldap.html +1178 -10
- nautobot/project-static/docs/configuration/authentication/remote.html +1178 -10
- nautobot/project-static/docs/configuration/authentication/sso.html +1178 -10
- nautobot/project-static/docs/configuration/index.html +1178 -10
- nautobot/project-static/docs/configuration/optional-settings.html +1311 -160
- nautobot/project-static/docs/configuration/required-settings.html +1312 -211
- nautobot/project-static/docs/core-functionality/circuits.html +1178 -10
- nautobot/project-static/docs/core-functionality/device-types.html +1178 -10
- nautobot/project-static/docs/core-functionality/devices.html +1182 -10
- nautobot/project-static/docs/core-functionality/ipam.html +1182 -10
- nautobot/project-static/docs/core-functionality/power.html +1178 -10
- nautobot/project-static/docs/core-functionality/secrets.html +1178 -10
- nautobot/project-static/docs/core-functionality/services.html +1178 -10
- nautobot/project-static/docs/core-functionality/sites-and-racks.html +1178 -10
- nautobot/project-static/docs/core-functionality/tenancy.html +1178 -10
- nautobot/project-static/docs/core-functionality/virtualization.html +1182 -10
- nautobot/project-static/docs/core-functionality/vlans.html +1179 -11
- nautobot/project-static/docs/development/application-registry.html +1190 -42
- nautobot/project-static/docs/development/best-practices.html +1178 -10
- nautobot/project-static/docs/development/docker-compose-advanced-use-cases.html +1178 -10
- nautobot/project-static/docs/development/extending-models.html +1238 -83
- nautobot/project-static/docs/development/generic-views.html +1180 -14
- nautobot/project-static/docs/development/getting-started.html +1365 -90
- nautobot/project-static/docs/development/homepage.html +1178 -10
- nautobot/project-static/docs/development/index.html +1178 -10
- nautobot/project-static/docs/development/model-features.html +1178 -10
- nautobot/project-static/docs/development/natural-keys.html +1178 -10
- nautobot/project-static/docs/development/navigation-menu.html +1215 -125
- nautobot/project-static/docs/development/react-ui.html +4199 -0
- nautobot/project-static/docs/development/release-checklist.html +1178 -10
- nautobot/project-static/docs/development/role-internals.html +1179 -12
- nautobot/project-static/docs/development/style-guide.html +1188 -19
- nautobot/project-static/docs/development/templates.html +1178 -10
- nautobot/project-static/docs/development/testing.html +1178 -10
- nautobot/project-static/docs/development/user-preferences.html +1178 -10
- nautobot/project-static/docs/docker/index.html +1178 -10
- nautobot/project-static/docs/index.html +1183 -12
- nautobot/project-static/docs/installation/centos.html +1178 -10
- nautobot/project-static/docs/installation/external-authentication.html +1178 -10
- nautobot/project-static/docs/installation/http-server.html +1178 -10
- nautobot/project-static/docs/installation/index.html +1178 -10
- nautobot/project-static/docs/installation/migrating-from-netbox.html +1305 -189
- nautobot/project-static/docs/installation/migrating-from-postgresql.html +1178 -10
- nautobot/project-static/docs/installation/nautobot.html +1179 -11
- nautobot/project-static/docs/installation/region-and-site-data-migration-guide.html +1178 -10
- nautobot/project-static/docs/installation/selinux-troubleshooting.html +1178 -10
- nautobot/project-static/docs/installation/services.html +1178 -10
- 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 +1178 -10
- nautobot/project-static/docs/installation/upgrading-from-nautobot-v1.html +3823 -2152
- nautobot/project-static/docs/installation/upgrading.html +1178 -10
- nautobot/project-static/docs/models/circuits/circuit.html +1293 -103
- nautobot/project-static/docs/models/circuits/circuittermination.html +1293 -103
- nautobot/project-static/docs/models/circuits/circuittype.html +1293 -103
- nautobot/project-static/docs/models/circuits/provider.html +1293 -103
- nautobot/project-static/docs/models/circuits/providernetwork.html +1293 -103
- nautobot/project-static/docs/models/dcim/cable.html +1324 -103
- nautobot/project-static/docs/models/dcim/consoleport.html +1293 -103
- nautobot/project-static/docs/models/dcim/consoleporttemplate.html +1293 -103
- nautobot/project-static/docs/models/dcim/consoleserverport.html +1293 -103
- nautobot/project-static/docs/models/dcim/consoleserverporttemplate.html +1293 -103
- nautobot/project-static/docs/models/dcim/device.html +1326 -132
- nautobot/project-static/docs/models/dcim/devicebay.html +1293 -103
- nautobot/project-static/docs/models/dcim/devicebaytemplate.html +1293 -103
- nautobot/project-static/docs/models/dcim/deviceredundancygroup.html +1379 -97
- nautobot/project-static/docs/models/dcim/devicetype.html +1293 -103
- nautobot/project-static/docs/models/dcim/frontport.html +1293 -103
- nautobot/project-static/docs/models/dcim/frontporttemplate.html +1293 -103
- nautobot/project-static/docs/models/dcim/interface.html +1293 -103
- nautobot/project-static/docs/models/dcim/interfacetemplate.html +1293 -103
- nautobot/project-static/docs/models/dcim/inventoryitem.html +1293 -103
- nautobot/project-static/docs/models/dcim/location.html +1293 -103
- nautobot/project-static/docs/models/dcim/locationtype.html +1293 -103
- nautobot/project-static/docs/models/dcim/manufacturer.html +1292 -102
- nautobot/project-static/docs/models/dcim/platform.html +1272 -82
- nautobot/project-static/docs/models/dcim/powerfeed.html +1270 -80
- nautobot/project-static/docs/models/dcim/poweroutlet.html +1272 -82
- nautobot/project-static/docs/models/dcim/poweroutlettemplate.html +1272 -82
- nautobot/project-static/docs/models/dcim/powerpanel.html +1270 -80
- nautobot/project-static/docs/models/dcim/powerport.html +1272 -82
- nautobot/project-static/docs/models/dcim/powerporttemplate.html +1272 -82
- nautobot/project-static/docs/models/dcim/rack.html +1272 -82
- nautobot/project-static/docs/models/dcim/rackgroup.html +1272 -82
- nautobot/project-static/docs/models/dcim/rackreservation.html +1272 -82
- nautobot/project-static/docs/models/dcim/rearport.html +1286 -96
- nautobot/project-static/docs/models/dcim/rearporttemplate.html +1286 -96
- nautobot/project-static/docs/models/dcim/region.html +1178 -10
- nautobot/project-static/docs/models/dcim/site.html +1178 -10
- nautobot/project-static/docs/models/dcim/virtualchassis.html +1284 -94
- nautobot/project-static/docs/models/extras/computedfield.html +1184 -16
- nautobot/project-static/docs/models/extras/configcontext.html +1314 -86
- nautobot/project-static/docs/models/extras/configcontextschema.html +1276 -86
- nautobot/project-static/docs/models/extras/customfield.html +1180 -12
- nautobot/project-static/docs/models/extras/customlink.html +1180 -12
- nautobot/project-static/docs/models/extras/dynamicgroup.html +1180 -12
- nautobot/project-static/docs/models/extras/exporttemplate.html +1180 -12
- nautobot/project-static/docs/models/extras/gitrepository.html +1184 -12
- nautobot/project-static/docs/models/extras/graphqlquery.html +1321 -86
- nautobot/project-static/docs/models/extras/imageattachment.html +1276 -86
- nautobot/project-static/docs/models/extras/job.html +1277 -86
- nautobot/project-static/docs/models/extras/jobbutton.html +1201 -29
- nautobot/project-static/docs/models/extras/jobhook.html +1188 -16
- nautobot/project-static/docs/models/extras/joblogentry.html +1274 -84
- nautobot/project-static/docs/models/extras/jobresult.html +1364 -169
- nautobot/project-static/docs/models/extras/note.html +1180 -12
- nautobot/project-static/docs/models/extras/relationship.html +1182 -14
- nautobot/project-static/docs/models/extras/role.html +1320 -86
- nautobot/project-static/docs/models/extras/secret.html +1314 -86
- nautobot/project-static/docs/models/extras/secretsgroup.html +1276 -86
- nautobot/project-static/docs/models/extras/status.html +1188 -59
- nautobot/project-static/docs/models/extras/tag.html +1180 -12
- nautobot/project-static/docs/models/extras/webhook.html +1180 -12
- nautobot/project-static/docs/models/ipam/ipaddress.html +1327 -102
- nautobot/project-static/docs/models/ipam/prefix.html +1276 -86
- nautobot/project-static/docs/models/ipam/rir.html +1276 -86
- nautobot/project-static/docs/models/ipam/routetarget.html +1276 -86
- nautobot/project-static/docs/models/ipam/service.html +1276 -86
- nautobot/project-static/docs/models/ipam/vlan.html +1276 -86
- nautobot/project-static/docs/models/ipam/vlangroup.html +1276 -86
- nautobot/project-static/docs/models/ipam/vrf.html +1276 -86
- nautobot/project-static/docs/models/tenancy/tenant.html +1276 -86
- nautobot/project-static/docs/models/tenancy/tenantgroup.html +1276 -86
- nautobot/project-static/docs/models/users/objectpermission.html +1314 -86
- nautobot/project-static/docs/models/users/token.html +1276 -86
- nautobot/project-static/docs/models/virtualization/cluster.html +1276 -86
- nautobot/project-static/docs/models/virtualization/clustergroup.html +1276 -86
- nautobot/project-static/docs/models/virtualization/clustertype.html +1276 -86
- nautobot/project-static/docs/models/virtualization/virtualmachine.html +1321 -127
- nautobot/project-static/docs/models/virtualization/vminterface.html +1276 -86
- nautobot/project-static/docs/objects.inv +0 -0
- nautobot/project-static/docs/plugins/development.html +1726 -495
- nautobot/project-static/docs/plugins/index.html +1178 -10
- nautobot/project-static/docs/plugins/porting-from-netbox.html +1178 -10
- nautobot/project-static/docs/release-notes/index.html +1178 -10
- nautobot/project-static/docs/release-notes/version-1.0.html +1178 -10
- nautobot/project-static/docs/release-notes/version-1.1.html +1178 -10
- nautobot/project-static/docs/release-notes/version-1.2.html +1178 -10
- nautobot/project-static/docs/release-notes/version-1.3.html +1178 -10
- nautobot/project-static/docs/release-notes/version-1.4.html +1178 -10
- nautobot/project-static/docs/release-notes/version-1.5.html +1608 -225
- nautobot/project-static/docs/release-notes/version-2.0.html +1547 -47
- nautobot/project-static/docs/requirements.txt +1 -0
- nautobot/project-static/docs/rest-api/authentication.html +1179 -11
- nautobot/project-static/docs/rest-api/filtering.html +1178 -10
- nautobot/project-static/docs/rest-api/overview.html +1841 -446
- 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 +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/creating-devices.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/index.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/interfaces.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/ipam.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/platforms.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/regions.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/search-bar.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/tenants.html +1178 -10
- nautobot/project-static/docs/user-guides/getting-started/vlans-and-vlan-groups.html +1178 -10
- nautobot/project-static/docs/user-guides/git-data-source.html +1178 -10
- nautobot/project-static/docs/user-guides/graphql.html +1178 -10
- nautobot/project-static/docs/user-guides/relationships.html +1178 -10
- nautobot/project-static/docs/user-guides/s3-django-storage.html +1178 -10
- nautobot/project-static/js/forms.js +16 -9
- nautobot/project-static/js/theme.js +5 -0
- nautobot/tenancy/api/serializers.py +4 -32
- nautobot/tenancy/api/urls.py +1 -1
- nautobot/tenancy/forms.py +0 -28
- nautobot/tenancy/migrations/0008_tagsfield.py +19 -0
- nautobot/tenancy/models.py +0 -25
- nautobot/tenancy/navigation.py +6 -39
- nautobot/tenancy/templates/tenancy/tenant.html +12 -12
- nautobot/tenancy/templates/tenancy/tenantgroup.html +1 -1
- nautobot/tenancy/tests/test_api.py +1 -3
- nautobot/tenancy/tests/test_filters.py +10 -5
- nautobot/tenancy/views.py +0 -2
- 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/tests/test_api.py +110 -25
- nautobot/virtualization/api/serializers.py +18 -130
- nautobot/virtualization/api/urls.py +1 -1
- nautobot/virtualization/api/views.py +1 -22
- nautobot/virtualization/forms.py +13 -99
- nautobot/virtualization/migrations/0012_alter_virtualmachine_role_add_new_role.py +1 -1
- nautobot/virtualization/migrations/0013_migrate_virtualmachine_role_data.py +18 -11
- nautobot/virtualization/migrations/0015_rename_foreignkey_fields.py +1 -1
- nautobot/virtualization/migrations/0018_related_name_changes.py +1 -1
- 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/{0021_ipam__namespaces.py → 0023_ipam__namespaces.py} +2 -2
- nautobot/virtualization/migrations/0024_fixup_null_statuses.py +25 -0
- nautobot/virtualization/migrations/0025_status_nonnullable.py +29 -0
- nautobot/virtualization/models.py +31 -123
- nautobot/virtualization/navigation.py +18 -99
- nautobot/virtualization/templates/virtualization/virtualmachine.html +2 -1
- nautobot/virtualization/templates/virtualization/virtualmachine_edit.html +6 -0
- nautobot/virtualization/tests/test_api.py +25 -26
- nautobot/virtualization/tests/test_filters.py +41 -15
- nautobot/virtualization/tests/test_models.py +31 -7
- nautobot/virtualization/tests/test_views.py +42 -25
- nautobot/virtualization/views.py +7 -6
- {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/METADATA +3 -7
- {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/RECORD +744 -602
- {nautobot-2.0.0a3.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 -41
- nautobot/extras/migrations/0071_job__unique_name_data_migration.py +0 -46
- 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 -18
- 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 -159
- nautobot/ipam/migrations/0029_ipam__prefix__add_parent.py +0 -31
- nautobot/ipam/migrations/0030_ipam__prefix__data_migration.py +0 -13
- nautobot/ipam/migrations/0031_ipam__ipaddress__add_parent.py +0 -41
- nautobot/ipam/migrations/0032_ipam__ipaddress__data_migration.py +0 -11
- 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.0a3.dist-info → nautobot-2.0.0b1.dist-info}/LICENSE.txt +0 -0
- {nautobot-2.0.0a3.dist-info → nautobot-2.0.0b1.dist-info}/entry_points.txt +0 -0
|
@@ -686,13 +686,6 @@
|
|
|
686
686
|
<nav class="md-nav" aria-label="Display name">
|
|
687
687
|
<ul class="md-nav__list">
|
|
688
688
|
|
|
689
|
-
<li class="md-nav__item">
|
|
690
|
-
<a href="#csv-imports" class="md-nav__link">
|
|
691
|
-
CSV Imports
|
|
692
|
-
</a>
|
|
693
|
-
|
|
694
|
-
</li>
|
|
695
|
-
|
|
696
689
|
<li class="md-nav__item">
|
|
697
690
|
<a href="#default-choices" class="md-nav__link">
|
|
698
691
|
Default Choices
|
|
@@ -771,15 +764,8 @@
|
|
|
771
764
|
</li>
|
|
772
765
|
|
|
773
766
|
<li class="md-nav__item">
|
|
774
|
-
<a href="#ipaddress-
|
|
775
|
-
IPAddress
|
|
776
|
-
</a>
|
|
777
|
-
|
|
778
|
-
</li>
|
|
779
|
-
|
|
780
|
-
<li class="md-nav__item">
|
|
781
|
-
<a href="#ipaddress-broadcast-contains-the-broadcast-address" class="md-nav__link">
|
|
782
|
-
IPAddress broadcast contains the broadcast address
|
|
767
|
+
<a href="#ipaddress-mask_length-contains-the-prefix-length" class="md-nav__link">
|
|
768
|
+
IPAddress mask_length contains the prefix length
|
|
783
769
|
</a>
|
|
784
770
|
|
|
785
771
|
</li>
|
|
@@ -1151,8 +1137,1053 @@
|
|
|
1151
1137
|
|
|
1152
1138
|
|
|
1153
1139
|
<li class="md-nav__item">
|
|
1154
|
-
<a href="../administration/nautobot-server.html" class="md-nav__link">
|
|
1155
|
-
Nautobot Server
|
|
1140
|
+
<a href="../administration/nautobot-server.html" class="md-nav__link">
|
|
1141
|
+
Nautobot Server
|
|
1142
|
+
</a>
|
|
1143
|
+
</li>
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
|
|
1149
|
+
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
<li class="md-nav__item">
|
|
1154
|
+
<a href="../administration/nautobot-shell.html" class="md-nav__link">
|
|
1155
|
+
Nautobot Shell
|
|
1156
|
+
</a>
|
|
1157
|
+
</li>
|
|
1158
|
+
|
|
1159
|
+
|
|
1160
|
+
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
|
|
1164
|
+
|
|
1165
|
+
|
|
1166
|
+
|
|
1167
|
+
<li class="md-nav__item">
|
|
1168
|
+
<a href="../administration/permissions.html" class="md-nav__link">
|
|
1169
|
+
Permissions
|
|
1170
|
+
</a>
|
|
1171
|
+
</li>
|
|
1172
|
+
|
|
1173
|
+
|
|
1174
|
+
|
|
1175
|
+
|
|
1176
|
+
|
|
1177
|
+
|
|
1178
|
+
|
|
1179
|
+
|
|
1180
|
+
|
|
1181
|
+
<li class="md-nav__item">
|
|
1182
|
+
<a href="../administration/replicating-nautobot.html" class="md-nav__link">
|
|
1183
|
+
Replicating Nautobot
|
|
1184
|
+
</a>
|
|
1185
|
+
</li>
|
|
1186
|
+
|
|
1187
|
+
|
|
1188
|
+
|
|
1189
|
+
|
|
1190
|
+
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
<li class="md-nav__item">
|
|
1196
|
+
<a href="../administration/celery-queues.html" class="md-nav__link">
|
|
1197
|
+
Task Queues
|
|
1198
|
+
</a>
|
|
1199
|
+
</li>
|
|
1200
|
+
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
|
|
1204
|
+
</ul>
|
|
1205
|
+
</nav>
|
|
1206
|
+
</li>
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
|
|
1210
|
+
|
|
1211
|
+
|
|
1212
|
+
|
|
1213
|
+
|
|
1214
|
+
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1218
|
+
|
|
1219
|
+
|
|
1220
|
+
|
|
1221
|
+
|
|
1222
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_6" >
|
|
1223
|
+
|
|
1224
|
+
|
|
1225
|
+
|
|
1226
|
+
<label class="md-nav__link" for="__nav_2_6" id="__nav_2_6_label" tabindex="0">
|
|
1227
|
+
User Guides
|
|
1228
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1229
|
+
</label>
|
|
1230
|
+
|
|
1231
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_6_label" aria-expanded="false">
|
|
1232
|
+
<label class="md-nav__title" for="__nav_2_6">
|
|
1233
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1234
|
+
User Guides
|
|
1235
|
+
</label>
|
|
1236
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1237
|
+
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
<li class="md-nav__item">
|
|
1244
|
+
<a href="../user-guides/getting-started/creating-devices.html" class="md-nav__link">
|
|
1245
|
+
Creating Devices
|
|
1246
|
+
</a>
|
|
1247
|
+
</li>
|
|
1248
|
+
|
|
1249
|
+
|
|
1250
|
+
|
|
1251
|
+
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
|
|
1255
|
+
|
|
1256
|
+
|
|
1257
|
+
<li class="md-nav__item">
|
|
1258
|
+
<a href="../user-guides/custom-fields.html" class="md-nav__link">
|
|
1259
|
+
Custom Fields
|
|
1260
|
+
</a>
|
|
1261
|
+
</li>
|
|
1262
|
+
|
|
1263
|
+
|
|
1264
|
+
|
|
1265
|
+
|
|
1266
|
+
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
|
|
1270
|
+
|
|
1271
|
+
<li class="md-nav__item">
|
|
1272
|
+
<a href="../user-guides/getting-started/index.html" class="md-nav__link">
|
|
1273
|
+
Getting Started In the Web UI
|
|
1274
|
+
</a>
|
|
1275
|
+
</li>
|
|
1276
|
+
|
|
1277
|
+
|
|
1278
|
+
|
|
1279
|
+
|
|
1280
|
+
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
|
|
1285
|
+
<li class="md-nav__item">
|
|
1286
|
+
<a href="../user-guides/git-data-source.html" class="md-nav__link">
|
|
1287
|
+
Git as a Data Source
|
|
1288
|
+
</a>
|
|
1289
|
+
</li>
|
|
1290
|
+
|
|
1291
|
+
|
|
1292
|
+
|
|
1293
|
+
|
|
1294
|
+
|
|
1295
|
+
|
|
1296
|
+
|
|
1297
|
+
|
|
1298
|
+
|
|
1299
|
+
<li class="md-nav__item">
|
|
1300
|
+
<a href="../user-guides/graphql.html" class="md-nav__link">
|
|
1301
|
+
GraphQL
|
|
1302
|
+
</a>
|
|
1303
|
+
</li>
|
|
1304
|
+
|
|
1305
|
+
|
|
1306
|
+
|
|
1307
|
+
|
|
1308
|
+
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
|
|
1312
|
+
|
|
1313
|
+
<li class="md-nav__item">
|
|
1314
|
+
<a href="../user-guides/getting-started/interfaces.html" class="md-nav__link">
|
|
1315
|
+
Interfaces
|
|
1316
|
+
</a>
|
|
1317
|
+
</li>
|
|
1318
|
+
|
|
1319
|
+
|
|
1320
|
+
|
|
1321
|
+
|
|
1322
|
+
|
|
1323
|
+
|
|
1324
|
+
|
|
1325
|
+
|
|
1326
|
+
|
|
1327
|
+
<li class="md-nav__item">
|
|
1328
|
+
<a href="../user-guides/getting-started/ipam.html" class="md-nav__link">
|
|
1329
|
+
IP Address Management
|
|
1330
|
+
</a>
|
|
1331
|
+
</li>
|
|
1332
|
+
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
<li class="md-nav__item">
|
|
1342
|
+
<a href="../user-guides/getting-started/platforms.html" class="md-nav__link">
|
|
1343
|
+
Platforms
|
|
1344
|
+
</a>
|
|
1345
|
+
</li>
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
|
|
1349
|
+
|
|
1350
|
+
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
|
|
1354
|
+
|
|
1355
|
+
<li class="md-nav__item">
|
|
1356
|
+
<a href="../user-guides/getting-started/regions.html" class="md-nav__link">
|
|
1357
|
+
Regions
|
|
1358
|
+
</a>
|
|
1359
|
+
</li>
|
|
1360
|
+
|
|
1361
|
+
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
|
|
1369
|
+
<li class="md-nav__item">
|
|
1370
|
+
<a href="../user-guides/getting-started/tenants.html" class="md-nav__link">
|
|
1371
|
+
Tenants
|
|
1372
|
+
</a>
|
|
1373
|
+
</li>
|
|
1374
|
+
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
|
|
1378
|
+
|
|
1379
|
+
|
|
1380
|
+
|
|
1381
|
+
|
|
1382
|
+
|
|
1383
|
+
<li class="md-nav__item">
|
|
1384
|
+
<a href="../user-guides/getting-started/search-bar.html" class="md-nav__link">
|
|
1385
|
+
The Search Bar
|
|
1386
|
+
</a>
|
|
1387
|
+
</li>
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
|
|
1391
|
+
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
|
|
1395
|
+
|
|
1396
|
+
|
|
1397
|
+
<li class="md-nav__item">
|
|
1398
|
+
<a href="../user-guides/git-data-source.html" class="md-nav__link">
|
|
1399
|
+
Git as a Data Source
|
|
1400
|
+
</a>
|
|
1401
|
+
</li>
|
|
1402
|
+
|
|
1403
|
+
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
|
|
1409
|
+
|
|
1410
|
+
|
|
1411
|
+
<li class="md-nav__item">
|
|
1412
|
+
<a href="../user-guides/graphql.html" class="md-nav__link">
|
|
1413
|
+
GraphQL
|
|
1414
|
+
</a>
|
|
1415
|
+
</li>
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
|
|
1425
|
+
<li class="md-nav__item">
|
|
1426
|
+
<a href="../user-guides/relationships.html" class="md-nav__link">
|
|
1427
|
+
Relationships
|
|
1428
|
+
</a>
|
|
1429
|
+
</li>
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
|
|
1433
|
+
|
|
1434
|
+
|
|
1435
|
+
|
|
1436
|
+
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
<li class="md-nav__item">
|
|
1440
|
+
<a href="../user-guides/s3-django-storage.html" class="md-nav__link">
|
|
1441
|
+
Django Storages with S3
|
|
1442
|
+
</a>
|
|
1443
|
+
</li>
|
|
1444
|
+
|
|
1445
|
+
|
|
1446
|
+
|
|
1447
|
+
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
|
|
1451
|
+
|
|
1452
|
+
|
|
1453
|
+
<li class="md-nav__item">
|
|
1454
|
+
<a href="../user-guides/getting-started/vlans-and-vlan-groups.html" class="md-nav__link">
|
|
1455
|
+
VLANS and VLAN Groups
|
|
1456
|
+
</a>
|
|
1457
|
+
</li>
|
|
1458
|
+
|
|
1459
|
+
|
|
1460
|
+
|
|
1461
|
+
|
|
1462
|
+
</ul>
|
|
1463
|
+
</nav>
|
|
1464
|
+
</li>
|
|
1465
|
+
|
|
1466
|
+
|
|
1467
|
+
|
|
1468
|
+
|
|
1469
|
+
|
|
1470
|
+
|
|
1471
|
+
|
|
1472
|
+
|
|
1473
|
+
|
|
1474
|
+
|
|
1475
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1476
|
+
|
|
1477
|
+
|
|
1478
|
+
|
|
1479
|
+
|
|
1480
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_7" >
|
|
1481
|
+
|
|
1482
|
+
|
|
1483
|
+
|
|
1484
|
+
<label class="md-nav__link" for="__nav_2_7" id="__nav_2_7_label" tabindex="0">
|
|
1485
|
+
Core Functionality
|
|
1486
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1487
|
+
</label>
|
|
1488
|
+
|
|
1489
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_7_label" aria-expanded="false">
|
|
1490
|
+
<label class="md-nav__title" for="__nav_2_7">
|
|
1491
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1492
|
+
Core Functionality
|
|
1493
|
+
</label>
|
|
1494
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1495
|
+
|
|
1496
|
+
|
|
1497
|
+
|
|
1498
|
+
|
|
1499
|
+
|
|
1500
|
+
|
|
1501
|
+
<li class="md-nav__item">
|
|
1502
|
+
<a href="../core-functionality/circuits.html" class="md-nav__link">
|
|
1503
|
+
Circuits
|
|
1504
|
+
</a>
|
|
1505
|
+
</li>
|
|
1506
|
+
|
|
1507
|
+
|
|
1508
|
+
|
|
1509
|
+
|
|
1510
|
+
|
|
1511
|
+
|
|
1512
|
+
|
|
1513
|
+
|
|
1514
|
+
|
|
1515
|
+
<li class="md-nav__item">
|
|
1516
|
+
<a href="../core-functionality/devices.html" class="md-nav__link">
|
|
1517
|
+
Devices and Cabling
|
|
1518
|
+
</a>
|
|
1519
|
+
</li>
|
|
1520
|
+
|
|
1521
|
+
|
|
1522
|
+
|
|
1523
|
+
|
|
1524
|
+
|
|
1525
|
+
|
|
1526
|
+
|
|
1527
|
+
|
|
1528
|
+
|
|
1529
|
+
<li class="md-nav__item">
|
|
1530
|
+
<a href="../core-functionality/device-types.html" class="md-nav__link">
|
|
1531
|
+
Device Types
|
|
1532
|
+
</a>
|
|
1533
|
+
</li>
|
|
1534
|
+
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
|
|
1538
|
+
|
|
1539
|
+
|
|
1540
|
+
|
|
1541
|
+
|
|
1542
|
+
|
|
1543
|
+
<li class="md-nav__item">
|
|
1544
|
+
<a href="../core-functionality/ipam.html" class="md-nav__link">
|
|
1545
|
+
IP Address Management
|
|
1546
|
+
</a>
|
|
1547
|
+
</li>
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
|
|
1551
|
+
|
|
1552
|
+
|
|
1553
|
+
|
|
1554
|
+
|
|
1555
|
+
|
|
1556
|
+
|
|
1557
|
+
<li class="md-nav__item">
|
|
1558
|
+
<a href="../core-functionality/power.html" class="md-nav__link">
|
|
1559
|
+
Power Tracking
|
|
1560
|
+
</a>
|
|
1561
|
+
</li>
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
|
|
1565
|
+
|
|
1566
|
+
|
|
1567
|
+
|
|
1568
|
+
|
|
1569
|
+
|
|
1570
|
+
|
|
1571
|
+
<li class="md-nav__item">
|
|
1572
|
+
<a href="../core-functionality/secrets.html" class="md-nav__link">
|
|
1573
|
+
Secrets
|
|
1574
|
+
</a>
|
|
1575
|
+
</li>
|
|
1576
|
+
|
|
1577
|
+
|
|
1578
|
+
|
|
1579
|
+
|
|
1580
|
+
|
|
1581
|
+
|
|
1582
|
+
|
|
1583
|
+
|
|
1584
|
+
|
|
1585
|
+
<li class="md-nav__item">
|
|
1586
|
+
<a href="../core-functionality/services.html" class="md-nav__link">
|
|
1587
|
+
Service Mapping
|
|
1588
|
+
</a>
|
|
1589
|
+
</li>
|
|
1590
|
+
|
|
1591
|
+
|
|
1592
|
+
|
|
1593
|
+
|
|
1594
|
+
|
|
1595
|
+
|
|
1596
|
+
|
|
1597
|
+
|
|
1598
|
+
|
|
1599
|
+
<li class="md-nav__item">
|
|
1600
|
+
<a href="../core-functionality/sites-and-racks.html" class="md-nav__link">
|
|
1601
|
+
Sites, Locations, and Racks
|
|
1602
|
+
</a>
|
|
1603
|
+
</li>
|
|
1604
|
+
|
|
1605
|
+
|
|
1606
|
+
|
|
1607
|
+
|
|
1608
|
+
|
|
1609
|
+
|
|
1610
|
+
|
|
1611
|
+
|
|
1612
|
+
|
|
1613
|
+
<li class="md-nav__item">
|
|
1614
|
+
<a href="../core-functionality/tenancy.html" class="md-nav__link">
|
|
1615
|
+
Tenancy
|
|
1616
|
+
</a>
|
|
1617
|
+
</li>
|
|
1618
|
+
|
|
1619
|
+
|
|
1620
|
+
|
|
1621
|
+
|
|
1622
|
+
|
|
1623
|
+
|
|
1624
|
+
|
|
1625
|
+
|
|
1626
|
+
|
|
1627
|
+
<li class="md-nav__item">
|
|
1628
|
+
<a href="../core-functionality/virtualization.html" class="md-nav__link">
|
|
1629
|
+
Virtualization
|
|
1630
|
+
</a>
|
|
1631
|
+
</li>
|
|
1632
|
+
|
|
1633
|
+
|
|
1634
|
+
|
|
1635
|
+
|
|
1636
|
+
|
|
1637
|
+
|
|
1638
|
+
|
|
1639
|
+
|
|
1640
|
+
|
|
1641
|
+
<li class="md-nav__item">
|
|
1642
|
+
<a href="../core-functionality/vlans.html" class="md-nav__link">
|
|
1643
|
+
VLAN Management
|
|
1644
|
+
</a>
|
|
1645
|
+
</li>
|
|
1646
|
+
|
|
1647
|
+
|
|
1648
|
+
|
|
1649
|
+
|
|
1650
|
+
</ul>
|
|
1651
|
+
</nav>
|
|
1652
|
+
</li>
|
|
1653
|
+
|
|
1654
|
+
|
|
1655
|
+
|
|
1656
|
+
|
|
1657
|
+
|
|
1658
|
+
|
|
1659
|
+
|
|
1660
|
+
|
|
1661
|
+
|
|
1662
|
+
|
|
1663
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1664
|
+
|
|
1665
|
+
|
|
1666
|
+
|
|
1667
|
+
|
|
1668
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8" >
|
|
1669
|
+
|
|
1670
|
+
|
|
1671
|
+
|
|
1672
|
+
<label class="md-nav__link" for="__nav_2_8" id="__nav_2_8_label" tabindex="0">
|
|
1673
|
+
Model Details
|
|
1674
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1675
|
+
</label>
|
|
1676
|
+
|
|
1677
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_8_label" aria-expanded="false">
|
|
1678
|
+
<label class="md-nav__title" for="__nav_2_8">
|
|
1679
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1680
|
+
Model Details
|
|
1681
|
+
</label>
|
|
1682
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1683
|
+
|
|
1684
|
+
|
|
1685
|
+
|
|
1686
|
+
|
|
1687
|
+
|
|
1688
|
+
|
|
1689
|
+
|
|
1690
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1691
|
+
|
|
1692
|
+
|
|
1693
|
+
|
|
1694
|
+
|
|
1695
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_1" >
|
|
1696
|
+
|
|
1697
|
+
|
|
1698
|
+
|
|
1699
|
+
<label class="md-nav__link" for="__nav_2_8_1" id="__nav_2_8_1_label" tabindex="0">
|
|
1700
|
+
Circuits
|
|
1701
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1702
|
+
</label>
|
|
1703
|
+
|
|
1704
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_1_label" aria-expanded="false">
|
|
1705
|
+
<label class="md-nav__title" for="__nav_2_8_1">
|
|
1706
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1707
|
+
Circuits
|
|
1708
|
+
</label>
|
|
1709
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1710
|
+
|
|
1711
|
+
|
|
1712
|
+
|
|
1713
|
+
|
|
1714
|
+
|
|
1715
|
+
|
|
1716
|
+
<li class="md-nav__item">
|
|
1717
|
+
<a href="../models/circuits/circuit.html" class="md-nav__link">
|
|
1718
|
+
Circuit
|
|
1719
|
+
</a>
|
|
1720
|
+
</li>
|
|
1721
|
+
|
|
1722
|
+
|
|
1723
|
+
|
|
1724
|
+
|
|
1725
|
+
|
|
1726
|
+
|
|
1727
|
+
|
|
1728
|
+
|
|
1729
|
+
|
|
1730
|
+
<li class="md-nav__item">
|
|
1731
|
+
<a href="../models/circuits/circuittermination.html" class="md-nav__link">
|
|
1732
|
+
Circuit Termination
|
|
1733
|
+
</a>
|
|
1734
|
+
</li>
|
|
1735
|
+
|
|
1736
|
+
|
|
1737
|
+
|
|
1738
|
+
|
|
1739
|
+
|
|
1740
|
+
|
|
1741
|
+
|
|
1742
|
+
|
|
1743
|
+
|
|
1744
|
+
<li class="md-nav__item">
|
|
1745
|
+
<a href="../models/circuits/circuittype.html" class="md-nav__link">
|
|
1746
|
+
Circuit Type
|
|
1747
|
+
</a>
|
|
1748
|
+
</li>
|
|
1749
|
+
|
|
1750
|
+
|
|
1751
|
+
|
|
1752
|
+
|
|
1753
|
+
|
|
1754
|
+
|
|
1755
|
+
|
|
1756
|
+
|
|
1757
|
+
|
|
1758
|
+
<li class="md-nav__item">
|
|
1759
|
+
<a href="../models/circuits/provider.html" class="md-nav__link">
|
|
1760
|
+
Circuit Provider
|
|
1761
|
+
</a>
|
|
1762
|
+
</li>
|
|
1763
|
+
|
|
1764
|
+
|
|
1765
|
+
|
|
1766
|
+
|
|
1767
|
+
|
|
1768
|
+
|
|
1769
|
+
|
|
1770
|
+
|
|
1771
|
+
|
|
1772
|
+
<li class="md-nav__item">
|
|
1773
|
+
<a href="../models/circuits/providernetwork.html" class="md-nav__link">
|
|
1774
|
+
Circuit Provider Network
|
|
1775
|
+
</a>
|
|
1776
|
+
</li>
|
|
1777
|
+
|
|
1778
|
+
|
|
1779
|
+
|
|
1780
|
+
|
|
1781
|
+
</ul>
|
|
1782
|
+
</nav>
|
|
1783
|
+
</li>
|
|
1784
|
+
|
|
1785
|
+
|
|
1786
|
+
|
|
1787
|
+
|
|
1788
|
+
|
|
1789
|
+
|
|
1790
|
+
|
|
1791
|
+
|
|
1792
|
+
|
|
1793
|
+
|
|
1794
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
1795
|
+
|
|
1796
|
+
|
|
1797
|
+
|
|
1798
|
+
|
|
1799
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_2" >
|
|
1800
|
+
|
|
1801
|
+
|
|
1802
|
+
|
|
1803
|
+
<label class="md-nav__link" for="__nav_2_8_2" id="__nav_2_8_2_label" tabindex="0">
|
|
1804
|
+
DCIM
|
|
1805
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1806
|
+
</label>
|
|
1807
|
+
|
|
1808
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_2_label" aria-expanded="false">
|
|
1809
|
+
<label class="md-nav__title" for="__nav_2_8_2">
|
|
1810
|
+
<span class="md-nav__icon md-icon"></span>
|
|
1811
|
+
DCIM
|
|
1812
|
+
</label>
|
|
1813
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1814
|
+
|
|
1815
|
+
|
|
1816
|
+
|
|
1817
|
+
|
|
1818
|
+
|
|
1819
|
+
|
|
1820
|
+
<li class="md-nav__item">
|
|
1821
|
+
<a href="../models/dcim/cable.html" class="md-nav__link">
|
|
1822
|
+
Cable
|
|
1823
|
+
</a>
|
|
1824
|
+
</li>
|
|
1825
|
+
|
|
1826
|
+
|
|
1827
|
+
|
|
1828
|
+
|
|
1829
|
+
|
|
1830
|
+
|
|
1831
|
+
|
|
1832
|
+
|
|
1833
|
+
|
|
1834
|
+
<li class="md-nav__item">
|
|
1835
|
+
<a href="../models/dcim/consoleport.html" class="md-nav__link">
|
|
1836
|
+
Console Port
|
|
1837
|
+
</a>
|
|
1838
|
+
</li>
|
|
1839
|
+
|
|
1840
|
+
|
|
1841
|
+
|
|
1842
|
+
|
|
1843
|
+
|
|
1844
|
+
|
|
1845
|
+
|
|
1846
|
+
|
|
1847
|
+
|
|
1848
|
+
<li class="md-nav__item">
|
|
1849
|
+
<a href="../models/dcim/consoleporttemplate.html" class="md-nav__link">
|
|
1850
|
+
Console Port Template
|
|
1851
|
+
</a>
|
|
1852
|
+
</li>
|
|
1853
|
+
|
|
1854
|
+
|
|
1855
|
+
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
|
|
1859
|
+
|
|
1860
|
+
|
|
1861
|
+
|
|
1862
|
+
<li class="md-nav__item">
|
|
1863
|
+
<a href="../models/dcim/consoleserverport.html" class="md-nav__link">
|
|
1864
|
+
Console Server Port
|
|
1865
|
+
</a>
|
|
1866
|
+
</li>
|
|
1867
|
+
|
|
1868
|
+
|
|
1869
|
+
|
|
1870
|
+
|
|
1871
|
+
|
|
1872
|
+
|
|
1873
|
+
|
|
1874
|
+
|
|
1875
|
+
|
|
1876
|
+
<li class="md-nav__item">
|
|
1877
|
+
<a href="../models/dcim/consoleserverporttemplate.html" class="md-nav__link">
|
|
1878
|
+
Console Server Port Template
|
|
1879
|
+
</a>
|
|
1880
|
+
</li>
|
|
1881
|
+
|
|
1882
|
+
|
|
1883
|
+
|
|
1884
|
+
|
|
1885
|
+
|
|
1886
|
+
|
|
1887
|
+
|
|
1888
|
+
|
|
1889
|
+
|
|
1890
|
+
<li class="md-nav__item">
|
|
1891
|
+
<a href="../models/dcim/device.html" class="md-nav__link">
|
|
1892
|
+
Device
|
|
1893
|
+
</a>
|
|
1894
|
+
</li>
|
|
1895
|
+
|
|
1896
|
+
|
|
1897
|
+
|
|
1898
|
+
|
|
1899
|
+
|
|
1900
|
+
|
|
1901
|
+
|
|
1902
|
+
|
|
1903
|
+
|
|
1904
|
+
<li class="md-nav__item">
|
|
1905
|
+
<a href="../models/dcim/devicebay.html" class="md-nav__link">
|
|
1906
|
+
Device Bay
|
|
1907
|
+
</a>
|
|
1908
|
+
</li>
|
|
1909
|
+
|
|
1910
|
+
|
|
1911
|
+
|
|
1912
|
+
|
|
1913
|
+
|
|
1914
|
+
|
|
1915
|
+
|
|
1916
|
+
|
|
1917
|
+
|
|
1918
|
+
<li class="md-nav__item">
|
|
1919
|
+
<a href="../models/dcim/devicebaytemplate.html" class="md-nav__link">
|
|
1920
|
+
Device Bay Template
|
|
1921
|
+
</a>
|
|
1922
|
+
</li>
|
|
1923
|
+
|
|
1924
|
+
|
|
1925
|
+
|
|
1926
|
+
|
|
1927
|
+
|
|
1928
|
+
|
|
1929
|
+
|
|
1930
|
+
|
|
1931
|
+
|
|
1932
|
+
<li class="md-nav__item">
|
|
1933
|
+
<a href="../models/dcim/deviceredundancygroup.html" class="md-nav__link">
|
|
1934
|
+
Device Redundancy Group
|
|
1935
|
+
</a>
|
|
1936
|
+
</li>
|
|
1937
|
+
|
|
1938
|
+
|
|
1939
|
+
|
|
1940
|
+
|
|
1941
|
+
|
|
1942
|
+
|
|
1943
|
+
|
|
1944
|
+
|
|
1945
|
+
|
|
1946
|
+
<li class="md-nav__item">
|
|
1947
|
+
<a href="../models/dcim/devicetype.html" class="md-nav__link">
|
|
1948
|
+
Device Type
|
|
1949
|
+
</a>
|
|
1950
|
+
</li>
|
|
1951
|
+
|
|
1952
|
+
|
|
1953
|
+
|
|
1954
|
+
|
|
1955
|
+
|
|
1956
|
+
|
|
1957
|
+
|
|
1958
|
+
|
|
1959
|
+
|
|
1960
|
+
<li class="md-nav__item">
|
|
1961
|
+
<a href="../models/dcim/frontport.html" class="md-nav__link">
|
|
1962
|
+
Front Port
|
|
1963
|
+
</a>
|
|
1964
|
+
</li>
|
|
1965
|
+
|
|
1966
|
+
|
|
1967
|
+
|
|
1968
|
+
|
|
1969
|
+
|
|
1970
|
+
|
|
1971
|
+
|
|
1972
|
+
|
|
1973
|
+
|
|
1974
|
+
<li class="md-nav__item">
|
|
1975
|
+
<a href="../models/dcim/frontporttemplate.html" class="md-nav__link">
|
|
1976
|
+
Front Port Template
|
|
1977
|
+
</a>
|
|
1978
|
+
</li>
|
|
1979
|
+
|
|
1980
|
+
|
|
1981
|
+
|
|
1982
|
+
|
|
1983
|
+
|
|
1984
|
+
|
|
1985
|
+
|
|
1986
|
+
|
|
1987
|
+
|
|
1988
|
+
<li class="md-nav__item">
|
|
1989
|
+
<a href="../models/dcim/interface.html" class="md-nav__link">
|
|
1990
|
+
Interface
|
|
1991
|
+
</a>
|
|
1992
|
+
</li>
|
|
1993
|
+
|
|
1994
|
+
|
|
1995
|
+
|
|
1996
|
+
|
|
1997
|
+
|
|
1998
|
+
|
|
1999
|
+
|
|
2000
|
+
|
|
2001
|
+
|
|
2002
|
+
<li class="md-nav__item">
|
|
2003
|
+
<a href="../models/dcim/interfacetemplate.html" class="md-nav__link">
|
|
2004
|
+
Interface Template
|
|
2005
|
+
</a>
|
|
2006
|
+
</li>
|
|
2007
|
+
|
|
2008
|
+
|
|
2009
|
+
|
|
2010
|
+
|
|
2011
|
+
|
|
2012
|
+
|
|
2013
|
+
|
|
2014
|
+
|
|
2015
|
+
|
|
2016
|
+
<li class="md-nav__item">
|
|
2017
|
+
<a href="../models/dcim/inventoryitem.html" class="md-nav__link">
|
|
2018
|
+
Inventory Item
|
|
2019
|
+
</a>
|
|
2020
|
+
</li>
|
|
2021
|
+
|
|
2022
|
+
|
|
2023
|
+
|
|
2024
|
+
|
|
2025
|
+
|
|
2026
|
+
|
|
2027
|
+
|
|
2028
|
+
|
|
2029
|
+
|
|
2030
|
+
<li class="md-nav__item">
|
|
2031
|
+
<a href="../models/dcim/location.html" class="md-nav__link">
|
|
2032
|
+
Location
|
|
2033
|
+
</a>
|
|
2034
|
+
</li>
|
|
2035
|
+
|
|
2036
|
+
|
|
2037
|
+
|
|
2038
|
+
|
|
2039
|
+
|
|
2040
|
+
|
|
2041
|
+
|
|
2042
|
+
|
|
2043
|
+
|
|
2044
|
+
<li class="md-nav__item">
|
|
2045
|
+
<a href="../models/dcim/locationtype.html" class="md-nav__link">
|
|
2046
|
+
Location Type
|
|
2047
|
+
</a>
|
|
2048
|
+
</li>
|
|
2049
|
+
|
|
2050
|
+
|
|
2051
|
+
|
|
2052
|
+
|
|
2053
|
+
|
|
2054
|
+
|
|
2055
|
+
|
|
2056
|
+
|
|
2057
|
+
|
|
2058
|
+
<li class="md-nav__item">
|
|
2059
|
+
<a href="../models/dcim/manufacturer.html" class="md-nav__link">
|
|
2060
|
+
Manufacturer
|
|
2061
|
+
</a>
|
|
2062
|
+
</li>
|
|
2063
|
+
|
|
2064
|
+
|
|
2065
|
+
|
|
2066
|
+
|
|
2067
|
+
|
|
2068
|
+
|
|
2069
|
+
|
|
2070
|
+
|
|
2071
|
+
|
|
2072
|
+
<li class="md-nav__item">
|
|
2073
|
+
<a href="../models/dcim/platform.html" class="md-nav__link">
|
|
2074
|
+
Platform
|
|
2075
|
+
</a>
|
|
2076
|
+
</li>
|
|
2077
|
+
|
|
2078
|
+
|
|
2079
|
+
|
|
2080
|
+
|
|
2081
|
+
|
|
2082
|
+
|
|
2083
|
+
|
|
2084
|
+
|
|
2085
|
+
|
|
2086
|
+
<li class="md-nav__item">
|
|
2087
|
+
<a href="../models/dcim/powerfeed.html" class="md-nav__link">
|
|
2088
|
+
Power Feed
|
|
2089
|
+
</a>
|
|
2090
|
+
</li>
|
|
2091
|
+
|
|
2092
|
+
|
|
2093
|
+
|
|
2094
|
+
|
|
2095
|
+
|
|
2096
|
+
|
|
2097
|
+
|
|
2098
|
+
|
|
2099
|
+
|
|
2100
|
+
<li class="md-nav__item">
|
|
2101
|
+
<a href="../models/dcim/poweroutlet.html" class="md-nav__link">
|
|
2102
|
+
Power Outlet
|
|
2103
|
+
</a>
|
|
2104
|
+
</li>
|
|
2105
|
+
|
|
2106
|
+
|
|
2107
|
+
|
|
2108
|
+
|
|
2109
|
+
|
|
2110
|
+
|
|
2111
|
+
|
|
2112
|
+
|
|
2113
|
+
|
|
2114
|
+
<li class="md-nav__item">
|
|
2115
|
+
<a href="../models/dcim/poweroutlettemplate.html" class="md-nav__link">
|
|
2116
|
+
Power Outlet Template
|
|
2117
|
+
</a>
|
|
2118
|
+
</li>
|
|
2119
|
+
|
|
2120
|
+
|
|
2121
|
+
|
|
2122
|
+
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
|
|
2126
|
+
|
|
2127
|
+
|
|
2128
|
+
<li class="md-nav__item">
|
|
2129
|
+
<a href="../models/dcim/powerpanel.html" class="md-nav__link">
|
|
2130
|
+
Power Panel
|
|
2131
|
+
</a>
|
|
2132
|
+
</li>
|
|
2133
|
+
|
|
2134
|
+
|
|
2135
|
+
|
|
2136
|
+
|
|
2137
|
+
|
|
2138
|
+
|
|
2139
|
+
|
|
2140
|
+
|
|
2141
|
+
|
|
2142
|
+
<li class="md-nav__item">
|
|
2143
|
+
<a href="../models/dcim/powerport.html" class="md-nav__link">
|
|
2144
|
+
Power Port
|
|
2145
|
+
</a>
|
|
2146
|
+
</li>
|
|
2147
|
+
|
|
2148
|
+
|
|
2149
|
+
|
|
2150
|
+
|
|
2151
|
+
|
|
2152
|
+
|
|
2153
|
+
|
|
2154
|
+
|
|
2155
|
+
|
|
2156
|
+
<li class="md-nav__item">
|
|
2157
|
+
<a href="../models/dcim/powerporttemplate.html" class="md-nav__link">
|
|
2158
|
+
Power Port Template
|
|
2159
|
+
</a>
|
|
2160
|
+
</li>
|
|
2161
|
+
|
|
2162
|
+
|
|
2163
|
+
|
|
2164
|
+
|
|
2165
|
+
|
|
2166
|
+
|
|
2167
|
+
|
|
2168
|
+
|
|
2169
|
+
|
|
2170
|
+
<li class="md-nav__item">
|
|
2171
|
+
<a href="../models/dcim/rack.html" class="md-nav__link">
|
|
2172
|
+
Rack
|
|
2173
|
+
</a>
|
|
2174
|
+
</li>
|
|
2175
|
+
|
|
2176
|
+
|
|
2177
|
+
|
|
2178
|
+
|
|
2179
|
+
|
|
2180
|
+
|
|
2181
|
+
|
|
2182
|
+
|
|
2183
|
+
|
|
2184
|
+
<li class="md-nav__item">
|
|
2185
|
+
<a href="../models/dcim/rackgroup.html" class="md-nav__link">
|
|
2186
|
+
Rack Group
|
|
1156
2187
|
</a>
|
|
1157
2188
|
</li>
|
|
1158
2189
|
|
|
@@ -1165,8 +2196,8 @@
|
|
|
1165
2196
|
|
|
1166
2197
|
|
|
1167
2198
|
<li class="md-nav__item">
|
|
1168
|
-
<a href="../
|
|
1169
|
-
|
|
2199
|
+
<a href="../models/dcim/rackreservation.html" class="md-nav__link">
|
|
2200
|
+
Rack Reservation
|
|
1170
2201
|
</a>
|
|
1171
2202
|
</li>
|
|
1172
2203
|
|
|
@@ -1179,8 +2210,8 @@
|
|
|
1179
2210
|
|
|
1180
2211
|
|
|
1181
2212
|
<li class="md-nav__item">
|
|
1182
|
-
<a href="../
|
|
1183
|
-
|
|
2213
|
+
<a href="../models/dcim/rearport.html" class="md-nav__link">
|
|
2214
|
+
Rear Port
|
|
1184
2215
|
</a>
|
|
1185
2216
|
</li>
|
|
1186
2217
|
|
|
@@ -1193,8 +2224,8 @@
|
|
|
1193
2224
|
|
|
1194
2225
|
|
|
1195
2226
|
<li class="md-nav__item">
|
|
1196
|
-
<a href="../
|
|
1197
|
-
|
|
2227
|
+
<a href="../models/dcim/rearporttemplate.html" class="md-nav__link">
|
|
2228
|
+
Rear Port Template
|
|
1198
2229
|
</a>
|
|
1199
2230
|
</li>
|
|
1200
2231
|
|
|
@@ -1207,8 +2238,8 @@
|
|
|
1207
2238
|
|
|
1208
2239
|
|
|
1209
2240
|
<li class="md-nav__item">
|
|
1210
|
-
<a href="../
|
|
1211
|
-
|
|
2241
|
+
<a href="../models/dcim/virtualchassis.html" class="md-nav__link">
|
|
2242
|
+
Virtual Chassis
|
|
1212
2243
|
</a>
|
|
1213
2244
|
</li>
|
|
1214
2245
|
|
|
@@ -1233,19 +2264,19 @@
|
|
|
1233
2264
|
|
|
1234
2265
|
|
|
1235
2266
|
|
|
1236
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
2267
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_3" >
|
|
1237
2268
|
|
|
1238
2269
|
|
|
1239
2270
|
|
|
1240
|
-
<label class="md-nav__link" for="
|
|
1241
|
-
|
|
2271
|
+
<label class="md-nav__link" for="__nav_2_8_3" id="__nav_2_8_3_label" tabindex="0">
|
|
2272
|
+
Extras
|
|
1242
2273
|
<span class="md-nav__icon md-icon"></span>
|
|
1243
2274
|
</label>
|
|
1244
2275
|
|
|
1245
|
-
<nav class="md-nav" data-md-level="
|
|
1246
|
-
<label class="md-nav__title" for="
|
|
2276
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_3_label" aria-expanded="false">
|
|
2277
|
+
<label class="md-nav__title" for="__nav_2_8_3">
|
|
1247
2278
|
<span class="md-nav__icon md-icon"></span>
|
|
1248
|
-
|
|
2279
|
+
Extras
|
|
1249
2280
|
</label>
|
|
1250
2281
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
1251
2282
|
|
|
@@ -1255,8 +2286,8 @@
|
|
|
1255
2286
|
|
|
1256
2287
|
|
|
1257
2288
|
<li class="md-nav__item">
|
|
1258
|
-
<a href="../
|
|
1259
|
-
|
|
2289
|
+
<a href="../models/extras/configcontext.html" class="md-nav__link">
|
|
2290
|
+
Config Context
|
|
1260
2291
|
</a>
|
|
1261
2292
|
</li>
|
|
1262
2293
|
|
|
@@ -1269,8 +2300,8 @@
|
|
|
1269
2300
|
|
|
1270
2301
|
|
|
1271
2302
|
<li class="md-nav__item">
|
|
1272
|
-
<a href="../
|
|
1273
|
-
|
|
2303
|
+
<a href="../models/extras/configcontextschema.html" class="md-nav__link">
|
|
2304
|
+
Config Context Schema
|
|
1274
2305
|
</a>
|
|
1275
2306
|
</li>
|
|
1276
2307
|
|
|
@@ -1283,8 +2314,8 @@
|
|
|
1283
2314
|
|
|
1284
2315
|
|
|
1285
2316
|
<li class="md-nav__item">
|
|
1286
|
-
<a href="../
|
|
1287
|
-
|
|
2317
|
+
<a href="../models/extras/graphqlquery.html" class="md-nav__link">
|
|
2318
|
+
GraphQL Query
|
|
1288
2319
|
</a>
|
|
1289
2320
|
</li>
|
|
1290
2321
|
|
|
@@ -1297,8 +2328,8 @@
|
|
|
1297
2328
|
|
|
1298
2329
|
|
|
1299
2330
|
<li class="md-nav__item">
|
|
1300
|
-
<a href="../
|
|
1301
|
-
|
|
2331
|
+
<a href="../models/extras/imageattachment.html" class="md-nav__link">
|
|
2332
|
+
Image Attachment
|
|
1302
2333
|
</a>
|
|
1303
2334
|
</li>
|
|
1304
2335
|
|
|
@@ -1311,8 +2342,8 @@
|
|
|
1311
2342
|
|
|
1312
2343
|
|
|
1313
2344
|
<li class="md-nav__item">
|
|
1314
|
-
<a href="../
|
|
1315
|
-
|
|
2345
|
+
<a href="../models/extras/job.html" class="md-nav__link">
|
|
2346
|
+
Job
|
|
1316
2347
|
</a>
|
|
1317
2348
|
</li>
|
|
1318
2349
|
|
|
@@ -1325,8 +2356,8 @@
|
|
|
1325
2356
|
|
|
1326
2357
|
|
|
1327
2358
|
<li class="md-nav__item">
|
|
1328
|
-
<a href="../
|
|
1329
|
-
|
|
2359
|
+
<a href="../models/extras/joblogentry.html" class="md-nav__link">
|
|
2360
|
+
Job Log Entry
|
|
1330
2361
|
</a>
|
|
1331
2362
|
</li>
|
|
1332
2363
|
|
|
@@ -1339,8 +2370,8 @@
|
|
|
1339
2370
|
|
|
1340
2371
|
|
|
1341
2372
|
<li class="md-nav__item">
|
|
1342
|
-
<a href="../
|
|
1343
|
-
|
|
2373
|
+
<a href="../models/extras/jobresult.html" class="md-nav__link">
|
|
2374
|
+
Job Result
|
|
1344
2375
|
</a>
|
|
1345
2376
|
</li>
|
|
1346
2377
|
|
|
@@ -1353,8 +2384,8 @@
|
|
|
1353
2384
|
|
|
1354
2385
|
|
|
1355
2386
|
<li class="md-nav__item">
|
|
1356
|
-
<a href="../
|
|
1357
|
-
|
|
2387
|
+
<a href="../models/extras/role.html" class="md-nav__link">
|
|
2388
|
+
Role
|
|
1358
2389
|
</a>
|
|
1359
2390
|
</li>
|
|
1360
2391
|
|
|
@@ -1367,8 +2398,8 @@
|
|
|
1367
2398
|
|
|
1368
2399
|
|
|
1369
2400
|
<li class="md-nav__item">
|
|
1370
|
-
<a href="../
|
|
1371
|
-
|
|
2401
|
+
<a href="../models/extras/secret.html" class="md-nav__link">
|
|
2402
|
+
Secret
|
|
1372
2403
|
</a>
|
|
1373
2404
|
</li>
|
|
1374
2405
|
|
|
@@ -1381,8 +2412,56 @@
|
|
|
1381
2412
|
|
|
1382
2413
|
|
|
1383
2414
|
<li class="md-nav__item">
|
|
1384
|
-
<a href="../
|
|
1385
|
-
|
|
2415
|
+
<a href="../models/extras/secretsgroup.html" class="md-nav__link">
|
|
2416
|
+
Secrets group
|
|
2417
|
+
</a>
|
|
2418
|
+
</li>
|
|
2419
|
+
|
|
2420
|
+
|
|
2421
|
+
|
|
2422
|
+
|
|
2423
|
+
</ul>
|
|
2424
|
+
</nav>
|
|
2425
|
+
</li>
|
|
2426
|
+
|
|
2427
|
+
|
|
2428
|
+
|
|
2429
|
+
|
|
2430
|
+
|
|
2431
|
+
|
|
2432
|
+
|
|
2433
|
+
|
|
2434
|
+
|
|
2435
|
+
|
|
2436
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2437
|
+
|
|
2438
|
+
|
|
2439
|
+
|
|
2440
|
+
|
|
2441
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_4" >
|
|
2442
|
+
|
|
2443
|
+
|
|
2444
|
+
|
|
2445
|
+
<label class="md-nav__link" for="__nav_2_8_4" id="__nav_2_8_4_label" tabindex="0">
|
|
2446
|
+
IPAM
|
|
2447
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2448
|
+
</label>
|
|
2449
|
+
|
|
2450
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_4_label" aria-expanded="false">
|
|
2451
|
+
<label class="md-nav__title" for="__nav_2_8_4">
|
|
2452
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2453
|
+
IPAM
|
|
2454
|
+
</label>
|
|
2455
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
2456
|
+
|
|
2457
|
+
|
|
2458
|
+
|
|
2459
|
+
|
|
2460
|
+
|
|
2461
|
+
|
|
2462
|
+
<li class="md-nav__item">
|
|
2463
|
+
<a href="../models/ipam/ipaddress.html" class="md-nav__link">
|
|
2464
|
+
IP Address
|
|
1386
2465
|
</a>
|
|
1387
2466
|
</li>
|
|
1388
2467
|
|
|
@@ -1395,8 +2474,8 @@
|
|
|
1395
2474
|
|
|
1396
2475
|
|
|
1397
2476
|
<li class="md-nav__item">
|
|
1398
|
-
<a href="../
|
|
1399
|
-
|
|
2477
|
+
<a href="../models/ipam/prefix.html" class="md-nav__link">
|
|
2478
|
+
Prefix
|
|
1400
2479
|
</a>
|
|
1401
2480
|
</li>
|
|
1402
2481
|
|
|
@@ -1409,8 +2488,8 @@
|
|
|
1409
2488
|
|
|
1410
2489
|
|
|
1411
2490
|
<li class="md-nav__item">
|
|
1412
|
-
<a href="../
|
|
1413
|
-
|
|
2491
|
+
<a href="../models/ipam/rir.html" class="md-nav__link">
|
|
2492
|
+
Rir
|
|
1414
2493
|
</a>
|
|
1415
2494
|
</li>
|
|
1416
2495
|
|
|
@@ -1423,8 +2502,8 @@
|
|
|
1423
2502
|
|
|
1424
2503
|
|
|
1425
2504
|
<li class="md-nav__item">
|
|
1426
|
-
<a href="../
|
|
1427
|
-
|
|
2505
|
+
<a href="../models/ipam/routetarget.html" class="md-nav__link">
|
|
2506
|
+
Route Target
|
|
1428
2507
|
</a>
|
|
1429
2508
|
</li>
|
|
1430
2509
|
|
|
@@ -1437,8 +2516,8 @@
|
|
|
1437
2516
|
|
|
1438
2517
|
|
|
1439
2518
|
<li class="md-nav__item">
|
|
1440
|
-
<a href="../
|
|
1441
|
-
|
|
2519
|
+
<a href="../models/ipam/service.html" class="md-nav__link">
|
|
2520
|
+
Service
|
|
1442
2521
|
</a>
|
|
1443
2522
|
</li>
|
|
1444
2523
|
|
|
@@ -1451,8 +2530,8 @@
|
|
|
1451
2530
|
|
|
1452
2531
|
|
|
1453
2532
|
<li class="md-nav__item">
|
|
1454
|
-
<a href="../
|
|
1455
|
-
|
|
2533
|
+
<a href="../models/ipam/vlan.html" class="md-nav__link">
|
|
2534
|
+
VLAN
|
|
1456
2535
|
</a>
|
|
1457
2536
|
</li>
|
|
1458
2537
|
|
|
@@ -1465,8 +2544,22 @@
|
|
|
1465
2544
|
|
|
1466
2545
|
|
|
1467
2546
|
<li class="md-nav__item">
|
|
1468
|
-
<a href="../
|
|
1469
|
-
|
|
2547
|
+
<a href="../models/ipam/vlangroup.html" class="md-nav__link">
|
|
2548
|
+
VLAN Group
|
|
2549
|
+
</a>
|
|
2550
|
+
</li>
|
|
2551
|
+
|
|
2552
|
+
|
|
2553
|
+
|
|
2554
|
+
|
|
2555
|
+
|
|
2556
|
+
|
|
2557
|
+
|
|
2558
|
+
|
|
2559
|
+
|
|
2560
|
+
<li class="md-nav__item">
|
|
2561
|
+
<a href="../models/ipam/vrf.html" class="md-nav__link">
|
|
2562
|
+
VRF
|
|
1470
2563
|
</a>
|
|
1471
2564
|
</li>
|
|
1472
2565
|
|
|
@@ -1491,19 +2584,19 @@
|
|
|
1491
2584
|
|
|
1492
2585
|
|
|
1493
2586
|
|
|
1494
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
2587
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_5" >
|
|
1495
2588
|
|
|
1496
2589
|
|
|
1497
2590
|
|
|
1498
|
-
<label class="md-nav__link" for="
|
|
1499
|
-
|
|
2591
|
+
<label class="md-nav__link" for="__nav_2_8_5" id="__nav_2_8_5_label" tabindex="0">
|
|
2592
|
+
Tenancy
|
|
1500
2593
|
<span class="md-nav__icon md-icon"></span>
|
|
1501
2594
|
</label>
|
|
1502
2595
|
|
|
1503
|
-
<nav class="md-nav" data-md-level="
|
|
1504
|
-
<label class="md-nav__title" for="
|
|
2596
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_5_label" aria-expanded="false">
|
|
2597
|
+
<label class="md-nav__title" for="__nav_2_8_5">
|
|
1505
2598
|
<span class="md-nav__icon md-icon"></span>
|
|
1506
|
-
|
|
2599
|
+
Tenancy
|
|
1507
2600
|
</label>
|
|
1508
2601
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
1509
2602
|
|
|
@@ -1513,8 +2606,8 @@
|
|
|
1513
2606
|
|
|
1514
2607
|
|
|
1515
2608
|
<li class="md-nav__item">
|
|
1516
|
-
<a href="../
|
|
1517
|
-
|
|
2609
|
+
<a href="../models/tenancy/tenant.html" class="md-nav__link">
|
|
2610
|
+
Tenant
|
|
1518
2611
|
</a>
|
|
1519
2612
|
</li>
|
|
1520
2613
|
|
|
@@ -1527,27 +2620,47 @@
|
|
|
1527
2620
|
|
|
1528
2621
|
|
|
1529
2622
|
<li class="md-nav__item">
|
|
1530
|
-
<a href="../
|
|
1531
|
-
|
|
2623
|
+
<a href="../models/tenancy/tenantgroup.html" class="md-nav__link">
|
|
2624
|
+
Tenant Group
|
|
1532
2625
|
</a>
|
|
1533
2626
|
</li>
|
|
1534
2627
|
|
|
1535
2628
|
|
|
1536
2629
|
|
|
1537
2630
|
|
|
2631
|
+
</ul>
|
|
2632
|
+
</nav>
|
|
2633
|
+
</li>
|
|
2634
|
+
|
|
2635
|
+
|
|
2636
|
+
|
|
2637
|
+
|
|
1538
2638
|
|
|
1539
2639
|
|
|
1540
2640
|
|
|
1541
2641
|
|
|
1542
2642
|
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
2643
|
+
|
|
2644
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2645
|
+
|
|
2646
|
+
|
|
2647
|
+
|
|
2648
|
+
|
|
2649
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_6" >
|
|
2650
|
+
|
|
2651
|
+
|
|
2652
|
+
|
|
2653
|
+
<label class="md-nav__link" for="__nav_2_8_6" id="__nav_2_8_6_label" tabindex="0">
|
|
2654
|
+
Users
|
|
2655
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2656
|
+
</label>
|
|
2657
|
+
|
|
2658
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_6_label" aria-expanded="false">
|
|
2659
|
+
<label class="md-nav__title" for="__nav_2_8_6">
|
|
2660
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2661
|
+
Users
|
|
2662
|
+
</label>
|
|
2663
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1551
2664
|
|
|
1552
2665
|
|
|
1553
2666
|
|
|
@@ -1555,8 +2668,8 @@
|
|
|
1555
2668
|
|
|
1556
2669
|
|
|
1557
2670
|
<li class="md-nav__item">
|
|
1558
|
-
<a href="../
|
|
1559
|
-
|
|
2671
|
+
<a href="../models/users/objectpermission.html" class="md-nav__link">
|
|
2672
|
+
Object Permission
|
|
1560
2673
|
</a>
|
|
1561
2674
|
</li>
|
|
1562
2675
|
|
|
@@ -1569,27 +2682,47 @@
|
|
|
1569
2682
|
|
|
1570
2683
|
|
|
1571
2684
|
<li class="md-nav__item">
|
|
1572
|
-
<a href="../
|
|
1573
|
-
|
|
2685
|
+
<a href="../models/users/token.html" class="md-nav__link">
|
|
2686
|
+
Token
|
|
1574
2687
|
</a>
|
|
1575
2688
|
</li>
|
|
1576
2689
|
|
|
1577
2690
|
|
|
1578
2691
|
|
|
1579
2692
|
|
|
2693
|
+
</ul>
|
|
2694
|
+
</nav>
|
|
2695
|
+
</li>
|
|
2696
|
+
|
|
2697
|
+
|
|
2698
|
+
|
|
2699
|
+
|
|
1580
2700
|
|
|
1581
2701
|
|
|
1582
2702
|
|
|
1583
2703
|
|
|
1584
2704
|
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
2705
|
+
|
|
2706
|
+
<li class="md-nav__item md-nav__item--nested">
|
|
2707
|
+
|
|
2708
|
+
|
|
2709
|
+
|
|
2710
|
+
|
|
2711
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_8_7" >
|
|
2712
|
+
|
|
2713
|
+
|
|
2714
|
+
|
|
2715
|
+
<label class="md-nav__link" for="__nav_2_8_7" id="__nav_2_8_7_label" tabindex="0">
|
|
2716
|
+
Virtualization
|
|
2717
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2718
|
+
</label>
|
|
2719
|
+
|
|
2720
|
+
<nav class="md-nav" data-md-level="3" aria-labelledby="__nav_2_8_7_label" aria-expanded="false">
|
|
2721
|
+
<label class="md-nav__title" for="__nav_2_8_7">
|
|
2722
|
+
<span class="md-nav__icon md-icon"></span>
|
|
2723
|
+
Virtualization
|
|
2724
|
+
</label>
|
|
2725
|
+
<ul class="md-nav__list" data-md-scrollfix>
|
|
1593
2726
|
|
|
1594
2727
|
|
|
1595
2728
|
|
|
@@ -1597,8 +2730,8 @@
|
|
|
1597
2730
|
|
|
1598
2731
|
|
|
1599
2732
|
<li class="md-nav__item">
|
|
1600
|
-
<a href="../
|
|
1601
|
-
|
|
2733
|
+
<a href="../models/virtualization/cluster.html" class="md-nav__link">
|
|
2734
|
+
Cluster
|
|
1602
2735
|
</a>
|
|
1603
2736
|
</li>
|
|
1604
2737
|
|
|
@@ -1611,8 +2744,8 @@
|
|
|
1611
2744
|
|
|
1612
2745
|
|
|
1613
2746
|
<li class="md-nav__item">
|
|
1614
|
-
<a href="../
|
|
1615
|
-
|
|
2747
|
+
<a href="../models/virtualization/clustergroup.html" class="md-nav__link">
|
|
2748
|
+
Cluster Group
|
|
1616
2749
|
</a>
|
|
1617
2750
|
</li>
|
|
1618
2751
|
|
|
@@ -1625,8 +2758,8 @@
|
|
|
1625
2758
|
|
|
1626
2759
|
|
|
1627
2760
|
<li class="md-nav__item">
|
|
1628
|
-
<a href="../
|
|
1629
|
-
|
|
2761
|
+
<a href="../models/virtualization/clustertype.html" class="md-nav__link">
|
|
2762
|
+
Cluster Type
|
|
1630
2763
|
</a>
|
|
1631
2764
|
</li>
|
|
1632
2765
|
|
|
@@ -1639,8 +2772,8 @@
|
|
|
1639
2772
|
|
|
1640
2773
|
|
|
1641
2774
|
<li class="md-nav__item">
|
|
1642
|
-
<a href="../
|
|
1643
|
-
|
|
2775
|
+
<a href="../models/virtualization/virtualmachine.html" class="md-nav__link">
|
|
2776
|
+
Virtual Machine
|
|
1644
2777
|
</a>
|
|
1645
2778
|
</li>
|
|
1646
2779
|
|
|
@@ -1653,8 +2786,8 @@
|
|
|
1653
2786
|
|
|
1654
2787
|
|
|
1655
2788
|
<li class="md-nav__item">
|
|
1656
|
-
<a href="../
|
|
1657
|
-
|
|
2789
|
+
<a href="../models/virtualization/vminterface.html" class="md-nav__link">
|
|
2790
|
+
VM Interface
|
|
1658
2791
|
</a>
|
|
1659
2792
|
</li>
|
|
1660
2793
|
|
|
@@ -1668,6 +2801,13 @@
|
|
|
1668
2801
|
|
|
1669
2802
|
|
|
1670
2803
|
|
|
2804
|
+
</ul>
|
|
2805
|
+
</nav>
|
|
2806
|
+
</li>
|
|
2807
|
+
|
|
2808
|
+
|
|
2809
|
+
|
|
2810
|
+
|
|
1671
2811
|
|
|
1672
2812
|
|
|
1673
2813
|
|
|
@@ -1679,17 +2819,17 @@
|
|
|
1679
2819
|
|
|
1680
2820
|
|
|
1681
2821
|
|
|
1682
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
2822
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_9" >
|
|
1683
2823
|
|
|
1684
2824
|
|
|
1685
2825
|
|
|
1686
|
-
<label class="md-nav__link" for="
|
|
2826
|
+
<label class="md-nav__link" for="__nav_2_9" id="__nav_2_9_label" tabindex="0">
|
|
1687
2827
|
Additional Features
|
|
1688
2828
|
<span class="md-nav__icon md-icon"></span>
|
|
1689
2829
|
</label>
|
|
1690
2830
|
|
|
1691
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
1692
|
-
<label class="md-nav__title" for="
|
|
2831
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_9_label" aria-expanded="false">
|
|
2832
|
+
<label class="md-nav__title" for="__nav_2_9">
|
|
1693
2833
|
<span class="md-nav__icon md-icon"></span>
|
|
1694
2834
|
Additional Features
|
|
1695
2835
|
</label>
|
|
@@ -2021,17 +3161,17 @@
|
|
|
2021
3161
|
|
|
2022
3162
|
|
|
2023
3163
|
|
|
2024
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
3164
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_10" >
|
|
2025
3165
|
|
|
2026
3166
|
|
|
2027
3167
|
|
|
2028
|
-
<label class="md-nav__link" for="
|
|
3168
|
+
<label class="md-nav__link" for="__nav_2_10" id="__nav_2_10_label" tabindex="0">
|
|
2029
3169
|
REST API
|
|
2030
3170
|
<span class="md-nav__icon md-icon"></span>
|
|
2031
3171
|
</label>
|
|
2032
3172
|
|
|
2033
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
2034
|
-
<label class="md-nav__title" for="
|
|
3173
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_10_label" aria-expanded="false">
|
|
3174
|
+
<label class="md-nav__title" for="__nav_2_10">
|
|
2035
3175
|
<span class="md-nav__icon md-icon"></span>
|
|
2036
3176
|
REST API
|
|
2037
3177
|
</label>
|
|
@@ -2079,6 +3219,20 @@
|
|
|
2079
3219
|
|
|
2080
3220
|
|
|
2081
3221
|
|
|
3222
|
+
|
|
3223
|
+
|
|
3224
|
+
|
|
3225
|
+
|
|
3226
|
+
|
|
3227
|
+
<li class="md-nav__item">
|
|
3228
|
+
<a href="../rest-api/ui-related-endpoints.html" class="md-nav__link">
|
|
3229
|
+
UI Endpoints
|
|
3230
|
+
</a>
|
|
3231
|
+
</li>
|
|
3232
|
+
|
|
3233
|
+
|
|
3234
|
+
|
|
3235
|
+
|
|
2082
3236
|
</ul>
|
|
2083
3237
|
</nav>
|
|
2084
3238
|
</li>
|
|
@@ -2097,17 +3251,17 @@
|
|
|
2097
3251
|
|
|
2098
3252
|
|
|
2099
3253
|
|
|
2100
|
-
<input class="md-nav__toggle md-toggle " type="checkbox" id="
|
|
3254
|
+
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2_11" >
|
|
2101
3255
|
|
|
2102
3256
|
|
|
2103
3257
|
|
|
2104
|
-
<label class="md-nav__link" for="
|
|
3258
|
+
<label class="md-nav__link" for="__nav_2_11" id="__nav_2_11_label" tabindex="0">
|
|
2105
3259
|
GraphQL API
|
|
2106
3260
|
<span class="md-nav__icon md-icon"></span>
|
|
2107
3261
|
</label>
|
|
2108
3262
|
|
|
2109
|
-
<nav class="md-nav" data-md-level="2" aria-labelledby="
|
|
2110
|
-
<label class="md-nav__title" for="
|
|
3263
|
+
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_2_11_label" aria-expanded="false">
|
|
3264
|
+
<label class="md-nav__title" for="__nav_2_11">
|
|
2111
3265
|
<span class="md-nav__icon md-icon"></span>
|
|
2112
3266
|
GraphQL API
|
|
2113
3267
|
</label>
|
|
@@ -3181,13 +4335,6 @@
|
|
|
3181
4335
|
<nav class="md-nav" aria-label="Display name">
|
|
3182
4336
|
<ul class="md-nav__list">
|
|
3183
4337
|
|
|
3184
|
-
<li class="md-nav__item">
|
|
3185
|
-
<a href="#csv-imports" class="md-nav__link">
|
|
3186
|
-
CSV Imports
|
|
3187
|
-
</a>
|
|
3188
|
-
|
|
3189
|
-
</li>
|
|
3190
|
-
|
|
3191
4338
|
<li class="md-nav__item">
|
|
3192
4339
|
<a href="#default-choices" class="md-nav__link">
|
|
3193
4340
|
Default Choices
|
|
@@ -3266,15 +4413,8 @@
|
|
|
3266
4413
|
</li>
|
|
3267
4414
|
|
|
3268
4415
|
<li class="md-nav__item">
|
|
3269
|
-
<a href="#ipaddress-
|
|
3270
|
-
IPAddress
|
|
3271
|
-
</a>
|
|
3272
|
-
|
|
3273
|
-
</li>
|
|
3274
|
-
|
|
3275
|
-
<li class="md-nav__item">
|
|
3276
|
-
<a href="#ipaddress-broadcast-contains-the-broadcast-address" class="md-nav__link">
|
|
3277
|
-
IPAddress broadcast contains the broadcast address
|
|
4416
|
+
<a href="#ipaddress-mask_length-contains-the-prefix-length" class="md-nav__link">
|
|
4417
|
+
IPAddress mask_length contains the prefix length
|
|
3278
4418
|
</a>
|
|
3279
4419
|
|
|
3280
4420
|
</li>
|
|
@@ -3455,22 +4595,11 @@
|
|
|
3455
4595
|
<h2 id="data-model-changes">Data Model Changes<a class="headerlink" href="#data-model-changes" title="Permanent link">¶</a></h2>
|
|
3456
4596
|
<p>The following backwards-incompatible changes have been made to the data model in Nautobot.</p>
|
|
3457
4597
|
<h3 id="status-fields">Status Fields<a class="headerlink" href="#status-fields" title="Permanent link">¶</a></h3>
|
|
3458
|
-
<
|
|
3459
|
-
<p class="admonition-title">Tip</p>
|
|
3460
|
-
<p>Status names are now lower-cased when setting the <code>status</code> field on CSV imports. The <code>slug</code> value is used for create/update of objects and for filtering in the API.</p>
|
|
3461
|
-
</div>
|
|
3462
|
-
<p>A new <a href="../models/extras/status.html"><code>Status</code></a> model has been added to represent the <code>status</code> field for many models. Each status has a human-readable <code>name</code> field (e.g. <code>Active</code>), and a <code>slug</code> field (e.g. <code>active</code>).</p>
|
|
4598
|
+
<p>A new <a href="../models/extras/status.html"><code>Status</code></a> model has been added to represent the <code>status</code> field for many models. Each status has a human-readable <code>name</code> field (e.g. <code>Active</code>), a <code>color</code>, a <code>description</code>, and a set of <code>content_types</code> that it can be applied to (for example, <code>Device</code> and <code>Location</code>).</p>
|
|
3463
4599
|
<h3 id="display-name">Display name<a class="headerlink" href="#display-name" title="Permanent link">¶</a></h3>
|
|
3464
4600
|
<p>Several models such as device type and VLAN exposed a <code>display_name</code> property, which has now been renamed to <code>display</code>. In fact, there are several other instances, especially in the REST API, where the <code>display_name</code> field was used and as such, all instances have been renamed to <code>display</code>.</p>
|
|
3465
|
-
<h4 id="csv-imports">CSV Imports<a class="headerlink" href="#csv-imports" title="Permanent link">¶</a></h4>
|
|
3466
|
-
<p>When using CSV import to define a <code>status</code> field on imported objects, such as when importing Devices or Prefixes, the <code>Status.slug</code> field is used.</p>
|
|
3467
|
-
<p>For example, the built-in <strong>Active</strong> status has a slug of <code>active</code>, so the <code>active</code> value would be used for import.</p>
|
|
3468
4601
|
<h4 id="default-choices">Default Choices<a class="headerlink" href="#default-choices" title="Permanent link">¶</a></h4>
|
|
3469
4602
|
<p>Because <code>status</code> fields are now stored in the database, they cannot have a default value, just like other similar objects like Device Roles or Device Types. In cases where <code>status</code> was not required to be set because it would use the default value, you must now provide a <code>status</code> yourself. </p>
|
|
3470
|
-
<div class="admonition note">
|
|
3471
|
-
<p class="admonition-title">Note</p>
|
|
3472
|
-
<p>For consistency in the API, the <code>slug</code> value of a <code>status</code> is used when creating or updating an object.</p>
|
|
3473
|
-
</div>
|
|
3474
4603
|
<h4 id="choices-in-code">Choices in Code<a class="headerlink" href="#choices-in-code" title="Permanent link">¶</a></h4>
|
|
3475
4604
|
<p>All <code>*StatusChoices</code> enums used for populated <code>status</code> field choices (such as <code>nautobot.dcim.choices.DeviceStatusChoices</code>) are deprecated. Any code you have that is leveraging these will now result in an error when performing lookups on objects with <code>status</code> fields.</p>
|
|
3476
4605
|
<p>Anywhere you have code like this:</p>
|
|
@@ -3512,10 +4641,10 @@
|
|
|
3512
4641
|
<h4 id="technical-details">Technical Details<a class="headerlink" href="#technical-details" title="Permanent link">¶</a></h4>
|
|
3513
4642
|
<p>Below is a summary of the underlying technical changes to network fields. These will be explained in more detail in the following sections.</p>
|
|
3514
4643
|
<ul>
|
|
3515
|
-
<li>For <code>IPAddress</code>, the <code>address</code> field was exploded out to <code>host</code
|
|
4644
|
+
<li>For <code>IPAddress</code>, the <code>address</code> field was exploded out to <code>host</code> and <code>mask_length</code> fields; <code>address</code> was converted into a computed field.</li>
|
|
3516
4645
|
<li>For <code>Prefix</code> objects, the <code>prefix</code> field was exploded out to <code>network</code>, <code>broadcast</code>, and <code>prefix_length</code> fields; <code>prefix</code> was converted into a computed field.</li>
|
|
3517
4646
|
<li>The <code>host</code>, <code>network</code>, and <code>broadcast</code> fields are now of a <code>varbinary</code> database type, which is represented as a packed binary integer (for example, the host <code>1.1.1.1</code> is packed as <code>b"\x01\x01\x01\x01"</code>)</li>
|
|
3518
|
-
<li>Network membership queries are accomplished by triangulating the "position" of an address using the
|
|
4647
|
+
<li>Network membership queries are accomplished by triangulating the "position" of an address using the <code>host</code> of the <code>IPAddress</code> and the <code>network</code> and <code>broadcast</code> of the <code>Prefix</code>.</li>
|
|
3519
4648
|
</ul>
|
|
3520
4649
|
<div class="admonition note">
|
|
3521
4650
|
<p class="admonition-title">Note</p>
|
|
@@ -3524,7 +4653,7 @@
|
|
|
3524
4653
|
<h4 id="changes-to-ipaddress">Changes to <code>IPAddress</code><a class="headerlink" href="#changes-to-ipaddress" title="Permanent link">¶</a></h4>
|
|
3525
4654
|
<p>The following fields have changed when working with <code>ipam.IPAddress</code> objects:</p>
|
|
3526
4655
|
<h5 id="address-is-now-a-computed-field"><code>address</code> is now a computed field<a class="headerlink" href="#address-is-now-a-computed-field" title="Permanent link">¶</a></h5>
|
|
3527
|
-
<p>This field is computed from <code>{host}/{
|
|
4656
|
+
<p>This field is computed from <code>{host}/{mask_length}</code> and is represented as a <code>netaddr.IPNetwork</code> object.</p>
|
|
3528
4657
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-4-1" name="__codelineno-4-1" href="#__codelineno-4-1"></a><span class="o">>>></span> <span class="n">ip</span> <span class="o">=</span> <span class="n">IPAddress</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s2">"1.1.1.1/30"</span><span class="p">)</span>
|
|
3529
4658
|
<a id="__codelineno-4-2" name="__codelineno-4-2" href="#__codelineno-4-2"></a><span class="o">>>></span> <span class="n">ip</span><span class="o">.</span><span class="n">address</span>
|
|
3530
4659
|
<a id="__codelineno-4-3" name="__codelineno-4-3" href="#__codelineno-4-3"></a><span class="n">IPNetwork</span><span class="p">(</span><span class="s1">'1.1.1.1/30'</span><span class="p">)</span>
|
|
@@ -3541,7 +4670,7 @@
|
|
|
3541
4670
|
</code></pre></div>
|
|
3542
4671
|
<div class="admonition note">
|
|
3543
4672
|
<p class="admonition-title">Note</p>
|
|
3544
|
-
<p>If you use a <code>
|
|
4673
|
+
<p>If you use a <code>mask_length</code> other than <code>/32</code> (IPv4) or <code>/128</code> (IPv6) it <strong>must</strong> be included in your lookups</p>
|
|
3545
4674
|
</div>
|
|
3546
4675
|
<p>This field <em>cannot be used in </em><em>nested</em><em> filter expressions</em>:</p>
|
|
3547
4676
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-7-1" name="__codelineno-7-1" href="#__codelineno-7-1"></a><span class="o">>>></span> <span class="n">Device</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">primary_ip4__address</span><span class="o">=</span><span class="s2">"1.1.1.1"</span><span class="p">)</span>
|
|
@@ -3555,33 +4684,20 @@
|
|
|
3555
4684
|
<p>This field <em>can</em> be used in nested filter expressions, for example:</p>
|
|
3556
4685
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-9-1" name="__codelineno-9-1" href="#__codelineno-9-1"></a><span class="o">>>></span> <span class="n">Device</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">primary_ip4__host</span><span class="o">=</span><span class="s2">"1.1.1.1"</span><span class="p">)</span>
|
|
3557
4686
|
</code></pre></div>
|
|
3558
|
-
<h5 id="ipaddress-
|
|
4687
|
+
<h5 id="ipaddress-mask_length-contains-the-prefix-length">IPAddress <code>mask_length</code> contains the prefix length<a class="headerlink" href="#ipaddress-mask_length-contains-the-prefix-length" title="Permanent link">¶</a></h5>
|
|
3559
4688
|
<p>This is an integer, such as <code>30</code> for <code>/30</code>.</p>
|
|
3560
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="o">>>></span> <span class="n">ip</span><span class="o">.</span><span class="n">
|
|
4689
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-10-1" name="__codelineno-10-1" href="#__codelineno-10-1"></a><span class="o">>>></span> <span class="n">ip</span><span class="o">.</span><span class="n">mask_length</span>
|
|
3561
4690
|
<a id="__codelineno-10-2" name="__codelineno-10-2" href="#__codelineno-10-2"></a><span class="mi">30</span>
|
|
3562
4691
|
</code></pre></div>
|
|
3563
|
-
<p>For IP addresses with a
|
|
3564
|
-
<p>For example, if you have multiple <code>IPAddress</code> objects with the same <code>host</code> value but different <code>
|
|
4692
|
+
<p>For IP addresses with a mask length other than a host prefix, you will need to filter using <code>host</code> and <code>mask_length</code> fields for greater accuracy.</p>
|
|
4693
|
+
<p>For example, if you have multiple <code>IPAddress</code> objects with the same <code>host</code> value but different <code>mask_length</code>:</p>
|
|
3565
4694
|
<div class="highlight"><pre><span></span><code><a id="__codelineno-11-1" name="__codelineno-11-1" href="#__codelineno-11-1"></a><span class="o">>>></span> <span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s2">"1.1.1.1/32"</span><span class="p">)</span>
|
|
3566
4695
|
<a id="__codelineno-11-2" name="__codelineno-11-2" href="#__codelineno-11-2"></a><span class="o"><</span><span class="n">IPAddress</span><span class="p">:</span> <span class="mf">1.1.1.1</span><span class="o">/</span><span class="mi">32</span><span class="o">></span>
|
|
3567
4696
|
<a id="__codelineno-11-3" name="__codelineno-11-3" href="#__codelineno-11-3"></a><span class="o">>>></span> <span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="s2">"1.1.1.1"</span><span class="p">)</span>
|
|
3568
4697
|
<a id="__codelineno-11-4" name="__codelineno-11-4" href="#__codelineno-11-4"></a><span class="o"><</span><span class="n">IPAddressQuerySet</span> <span class="p">[</span><span class="o"><</span><span class="n">IPAddress</span><span class="p">:</span> <span class="mf">1.1.1.1</span><span class="o">/</span><span class="mi">30</span><span class="o">></span><span class="p">,</span> <span class="o"><</span><span class="n">IPAddress</span><span class="p">:</span> <span class="mf">1.1.1.1</span><span class="o">/</span><span class="mi">32</span><span class="o">></span><span class="p">]</span><span class="o">></span>
|
|
3569
|
-
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="o">>>></span> <span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="s2">"1.1.1.1"</span><span class="p">,</span> <span class="n">
|
|
4698
|
+
<a id="__codelineno-11-5" name="__codelineno-11-5" href="#__codelineno-11-5"></a><span class="o">>>></span> <span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">host</span><span class="o">=</span><span class="s2">"1.1.1.1"</span><span class="p">,</span> <span class="n">mask_length</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
|
|
3570
4699
|
<a id="__codelineno-11-6" name="__codelineno-11-6" href="#__codelineno-11-6"></a><span class="o"><</span><span class="n">IPAddressQuerySet</span> <span class="p">[</span><span class="o"><</span><span class="n">IPAddress</span><span class="p">:</span> <span class="mf">1.1.1.1</span><span class="o">/</span><span class="mi">30</span><span class="o">></span><span class="p">]</span><span class="o">></span>
|
|
3571
4700
|
</code></pre></div>
|
|
3572
|
-
<h5 id="ipaddress-broadcast-contains-the-broadcast-address">IPAddress <code>broadcast</code> contains the broadcast address<a class="headerlink" href="#ipaddress-broadcast-contains-the-broadcast-address" title="Permanent link">¶</a></h5>
|
|
3573
|
-
<p>If the prefix length is that of a host prefix (e.g. <code>/32</code>), <code>broadcast</code> will be the same as the <code>host</code> :</p>
|
|
3574
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="o">>>></span> <span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s2">"1.1.1.1/32"</span><span class="p">)</span><span class="o">.</span><span class="n">broadcast</span>
|
|
3575
|
-
<a id="__codelineno-12-2" name="__codelineno-12-2" href="#__codelineno-12-2"></a><span class="s1">'1.1.1.1'</span>
|
|
3576
|
-
</code></pre></div>
|
|
3577
|
-
<p>If the prefix length is any larger (e.g. <code>/24</code>), <code>broadcast</code> will be that of the containing network for that prefix length (e.g. <code>1.1.1.255</code>):</p>
|
|
3578
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="o">>>></span> <span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">address</span><span class="o">=</span><span class="s2">"1.1.1.1/24"</span><span class="p">)</span><span class="o">.</span><span class="n">broadcast</span>
|
|
3579
|
-
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="s1">'1.1.1.255'</span>
|
|
3580
|
-
</code></pre></div>
|
|
3581
|
-
<div class="admonition note">
|
|
3582
|
-
<p class="admonition-title">Note</p>
|
|
3583
|
-
<p>This field is largely for internal use only for facilitating network membership queries and it is not recommend that you use it for filtering.</p>
|
|
3584
|
-
</div>
|
|
3585
4701
|
<h4 id="changes-to-aggregate-and-prefix">Changes to <code>Aggregate</code> and <code>Prefix</code><a class="headerlink" href="#changes-to-aggregate-and-prefix" title="Permanent link">¶</a></h4>
|
|
3586
4702
|
<p>The following fields have changed when working with <code>ipam.Aggregate</code> and <code>ipam.Prefix</code> objects.</p>
|
|
3587
4703
|
<h5 id="aggregate-model-merged-into-prefix"><code>Aggregate</code> model merged into <code>Prefix</code><a class="headerlink" href="#aggregate-model-merged-into-prefix" title="Permanent link">¶</a></h5>
|
|
@@ -3590,37 +4706,37 @@
|
|
|
3590
4706
|
<p>This field is computed from <code>{network}/{prefix_length}</code> and is represented as a <code>netaddr.IPNetwork</code> object.</p>
|
|
3591
4707
|
<p>While this field is now a virtual field, it can still be used in many ways.</p>
|
|
3592
4708
|
<p>It can be used to create objects:</p>
|
|
3593
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
4709
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-12-1" name="__codelineno-12-1" href="#__codelineno-12-1"></a><span class="o">>>></span> <span class="n">net</span> <span class="o">=</span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s2">"1.1.1.0/24"</span><span class="p">)</span>
|
|
3594
4710
|
</code></pre></div>
|
|
3595
4711
|
<p>It can be used in <code>.get()</code> and <code>.filter()</code> lookups where <code>prefix</code> is the primary argument:</p>
|
|
3596
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3597
|
-
<a id="__codelineno-
|
|
3598
|
-
<a id="__codelineno-
|
|
3599
|
-
<a id="__codelineno-
|
|
4712
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a><span class="o">>>></span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s2">"1.1.1.0/24"</span><span class="p">)</span>
|
|
4713
|
+
<a id="__codelineno-13-2" name="__codelineno-13-2" href="#__codelineno-13-2"></a><span class="o"><</span><span class="n">Prefix</span><span class="p">:</span> <span class="mf">1.1.1.0</span><span class="o">/</span><span class="mi">24</span><span class="o">></span>
|
|
4714
|
+
<a id="__codelineno-13-3" name="__codelineno-13-3" href="#__codelineno-13-3"></a><span class="o">>>></span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s2">"1.1.1.0/24"</span><span class="p">)</span>
|
|
4715
|
+
<a id="__codelineno-13-4" name="__codelineno-13-4" href="#__codelineno-13-4"></a><span class="o"><</span><span class="n">PrefixQuerySet</span> <span class="p">[</span><span class="o"><</span><span class="n">Prefix</span><span class="p">:</span> <span class="mf">1.1.1.0</span><span class="o">/</span><span class="mi">24</span><span class="o">></span><span class="p">]</span><span class="o">></span>
|
|
3600
4716
|
</code></pre></div>
|
|
3601
4717
|
<h5 id="network-contains-the-network-address"><code>network</code> contains the network address<a class="headerlink" href="#network-contains-the-network-address" title="Permanent link">¶</a></h5>
|
|
3602
4718
|
<p>The network component of the address is now stored in the <code>network</code> field.</p>
|
|
3603
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3604
|
-
<a id="__codelineno-
|
|
4719
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-14-1" name="__codelineno-14-1" href="#__codelineno-14-1"></a><span class="o">>>></span> <span class="n">net</span><span class="o">.</span><span class="n">network</span>
|
|
4720
|
+
<a id="__codelineno-14-2" name="__codelineno-14-2" href="#__codelineno-14-2"></a><span class="s1">'1.1.1.0'</span>
|
|
3605
4721
|
</code></pre></div>
|
|
3606
4722
|
<h5 id="prefix-prefix_length-contains-the-prefix-length">Prefix <code>prefix_length</code> contains the prefix length<a class="headerlink" href="#prefix-prefix_length-contains-the-prefix-length" title="Permanent link">¶</a></h5>
|
|
3607
4723
|
<p>This is an integer, such as <code>24</code> for <code>/24</code>.</p>
|
|
3608
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3609
|
-
<a id="__codelineno-
|
|
4724
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-15-1" name="__codelineno-15-1" href="#__codelineno-15-1"></a><span class="o">>>></span> <span class="n">net</span><span class="o">.</span><span class="n">prefix_length</span>
|
|
4725
|
+
<a id="__codelineno-15-2" name="__codelineno-15-2" href="#__codelineno-15-2"></a><span class="mi">24</span>
|
|
3610
4726
|
</code></pre></div>
|
|
3611
4727
|
<p>It's highly likely that you will have multiple objects with the same <code>network</code> address but varying prefix lengths, so you will need to filter using <code>network</code> and <code>prefix_length</code> fields for greater accuracy.</p>
|
|
3612
4728
|
<p>For example, if you have multiple <code>Prefix</code> objects with the same <code>network</code> value but different <code>prefix_length</code>:</p>
|
|
3613
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3614
|
-
<a id="__codelineno-
|
|
3615
|
-
<a id="__codelineno-
|
|
3616
|
-
<a id="__codelineno-
|
|
3617
|
-
<a id="__codelineno-
|
|
3618
|
-
<a id="__codelineno-
|
|
4729
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-16-1" name="__codelineno-16-1" href="#__codelineno-16-1"></a><span class="o">>>></span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">create</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s2">"1.1.1.0/25"</span><span class="p">)</span>
|
|
4730
|
+
<a id="__codelineno-16-2" name="__codelineno-16-2" href="#__codelineno-16-2"></a><span class="o"><</span><span class="n">Prefix</span><span class="p">:</span> <span class="mf">1.1.1.0</span><span class="o">/</span><span class="mi">25</span><span class="o">></span>
|
|
4731
|
+
<a id="__codelineno-16-3" name="__codelineno-16-3" href="#__codelineno-16-3"></a><span class="o">>>></span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">network</span><span class="o">=</span><span class="s2">"1.1.1.0"</span><span class="p">)</span>
|
|
4732
|
+
<a id="__codelineno-16-4" name="__codelineno-16-4" href="#__codelineno-16-4"></a><span class="o"><</span><span class="n">PrefixQuerySet</span> <span class="p">[</span><span class="o"><</span><span class="n">Prefix</span><span class="p">:</span> <span class="mf">1.1.1.0</span><span class="o">/</span><span class="mi">24</span><span class="o">></span><span class="p">,</span> <span class="o"><</span><span class="n">Prefix</span><span class="p">:</span> <span class="mf">1.1.1.0</span><span class="o">/</span><span class="mi">25</span><span class="o">></span><span class="p">]</span><span class="o">></span>
|
|
4733
|
+
<a id="__codelineno-16-5" name="__codelineno-16-5" href="#__codelineno-16-5"></a><span class="o">>>></span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">network</span><span class="o">=</span><span class="s2">"1.1.1.0"</span><span class="p">,</span> <span class="n">prefix_length</span><span class="o">=</span><span class="mi">25</span><span class="p">)</span>
|
|
4734
|
+
<a id="__codelineno-16-6" name="__codelineno-16-6" href="#__codelineno-16-6"></a><span class="o"><</span><span class="n">PrefixQuerySet</span> <span class="p">[</span><span class="o"><</span><span class="n">Prefix</span><span class="p">:</span> <span class="mf">1.1.1.0</span><span class="o">/</span><span class="mi">25</span><span class="o">></span><span class="p">]</span><span class="o">></span>
|
|
3619
4735
|
</code></pre></div>
|
|
3620
4736
|
<h5 id="prefix-broadcast-contains-the-broadcast-address">Prefix <code>broadcast</code> contains the broadcast address<a class="headerlink" href="#prefix-broadcast-contains-the-broadcast-address" title="Permanent link">¶</a></h5>
|
|
3621
4737
|
<p>The <code>broadcast</code> will be derived from the <code>prefix_length</code> and will be that of the last network address for that prefix length (e.g. <code>1.1.1.255</code>):</p>
|
|
3622
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3623
|
-
<a id="__codelineno-
|
|
4738
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="o">>>></span> <span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">prefix</span><span class="o">=</span><span class="s2">"1.1.1.0/24"</span><span class="p">)</span><span class="o">.</span><span class="n">broadcast</span>
|
|
4739
|
+
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a><span class="s1">'1.1.1.255'</span>
|
|
3624
4740
|
</code></pre></div>
|
|
3625
4741
|
<div class="admonition note">
|
|
3626
4742
|
<p class="admonition-title">Note</p>
|
|
@@ -3640,14 +4756,14 @@
|
|
|
3640
4756
|
<p>The NetBox filter net_mask_length should use the <code>prefix_length</code> field for filtering.</p>
|
|
3641
4757
|
</div>
|
|
3642
4758
|
<p>NetBox:</p>
|
|
3643
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3644
|
-
<a id="__codelineno-
|
|
3645
|
-
<a id="__codelineno-
|
|
4759
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-18-1" name="__codelineno-18-1" href="#__codelineno-18-1"></a><span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">address__net_mask_length</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
|
|
4760
|
+
<a id="__codelineno-18-2" name="__codelineno-18-2" href="#__codelineno-18-2"></a><span class="c1"># or</span>
|
|
4761
|
+
<a id="__codelineno-18-3" name="__codelineno-18-3" href="#__codelineno-18-3"></a><span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">prefix__net_mask_length</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
|
|
3646
4762
|
</code></pre></div>
|
|
3647
4763
|
<p>Nautobot:</p>
|
|
3648
|
-
<div class="highlight"><pre><span></span><code><a id="__codelineno-
|
|
3649
|
-
<a id="__codelineno-
|
|
3650
|
-
<a id="__codelineno-
|
|
4764
|
+
<div class="highlight"><pre><span></span><code><a id="__codelineno-19-1" name="__codelineno-19-1" href="#__codelineno-19-1"></a><span class="n">IPAddress</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">mask_length</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
|
|
4765
|
+
<a id="__codelineno-19-2" name="__codelineno-19-2" href="#__codelineno-19-2"></a><span class="c1"># or</span>
|
|
4766
|
+
<a id="__codelineno-19-3" name="__codelineno-19-3" href="#__codelineno-19-3"></a><span class="n">Prefix</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">prefix_length</span><span class="o">=</span><span class="n">value</span><span class="p">)</span>
|
|
3651
4767
|
</code></pre></div>
|
|
3652
4768
|
<h2 id="rest-api-changes">REST API Changes<a class="headerlink" href="#rest-api-changes" title="Permanent link">¶</a></h2>
|
|
3653
4769
|
<p>The following backwards-incompatible changes have been made to the REST API in Nautobot.</p>
|