From 0c485aca9e0c42a0919b44946f79921c5f18ac0e Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 27 Mar 2024 12:04:53 -0500 Subject: [PATCH 1/6] Renames inventory files for new pattern --- .../inventory/files/{test-inventory.json => test_2-2.2.json} | 0 .../inventory/files/{test-inventory.yml => test_2-2.2.yml} | 0 .../files/{test-inventory-legacy.json => test_2-2.2_legacy.json} | 0 .../files/{test-inventory-legacy.yml => test_2-2.2_legacy.yml} | 0 .../{test-inventory-options.json => test_2-2.2_options.json} | 0 .../files/{test-inventory-options.yml => test_2-2.2_options.yml} | 0 ...ntory-options-flatten.json => test_2-2.2_options_flatten.json} | 0 ...ventory-options-flatten.yml => test_2-2.2_options_flatten.yml} | 0 .../{test-inventory-plurals.json => test_2-2.2_plurals.json} | 0 .../files/{test-inventory-plurals.yml => test_2-2.2_plurals.yml} | 0 ...ntory-plurals-flatten.json => test_2-2.2_plurals_flatten.json} | 0 ...ventory-plurals-flatten.yml => test_2-2.2_plurals_flatten.yml} | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename tests/integration/targets/inventory/files/{test-inventory.json => test_2-2.2.json} (100%) rename tests/integration/targets/inventory/files/{test-inventory.yml => test_2-2.2.yml} (100%) rename tests/integration/targets/inventory/files/{test-inventory-legacy.json => test_2-2.2_legacy.json} (100%) rename tests/integration/targets/inventory/files/{test-inventory-legacy.yml => test_2-2.2_legacy.yml} (100%) rename tests/integration/targets/inventory/files/{test-inventory-options.json => test_2-2.2_options.json} (100%) rename tests/integration/targets/inventory/files/{test-inventory-options.yml => test_2-2.2_options.yml} (100%) rename tests/integration/targets/inventory/files/{test-inventory-options-flatten.json => test_2-2.2_options_flatten.json} (100%) rename tests/integration/targets/inventory/files/{test-inventory-options-flatten.yml => test_2-2.2_options_flatten.yml} (100%) rename tests/integration/targets/inventory/files/{test-inventory-plurals.json => test_2-2.2_plurals.json} (100%) rename tests/integration/targets/inventory/files/{test-inventory-plurals.yml => test_2-2.2_plurals.yml} (100%) rename tests/integration/targets/inventory/files/{test-inventory-plurals-flatten.json => test_2-2.2_plurals_flatten.json} (100%) rename tests/integration/targets/inventory/files/{test-inventory-plurals-flatten.yml => test_2-2.2_plurals_flatten.yml} (100%) diff --git a/tests/integration/targets/inventory/files/test-inventory.json b/tests/integration/targets/inventory/files/test_2-2.2.json similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory.json rename to tests/integration/targets/inventory/files/test_2-2.2.json diff --git a/tests/integration/targets/inventory/files/test-inventory.yml b/tests/integration/targets/inventory/files/test_2-2.2.yml similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory.yml rename to tests/integration/targets/inventory/files/test_2-2.2.yml diff --git a/tests/integration/targets/inventory/files/test-inventory-legacy.json b/tests/integration/targets/inventory/files/test_2-2.2_legacy.json similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-legacy.json rename to tests/integration/targets/inventory/files/test_2-2.2_legacy.json diff --git a/tests/integration/targets/inventory/files/test-inventory-legacy.yml b/tests/integration/targets/inventory/files/test_2-2.2_legacy.yml similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-legacy.yml rename to tests/integration/targets/inventory/files/test_2-2.2_legacy.yml diff --git a/tests/integration/targets/inventory/files/test-inventory-options.json b/tests/integration/targets/inventory/files/test_2-2.2_options.json similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-options.json rename to tests/integration/targets/inventory/files/test_2-2.2_options.json diff --git a/tests/integration/targets/inventory/files/test-inventory-options.yml b/tests/integration/targets/inventory/files/test_2-2.2_options.yml similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-options.yml rename to tests/integration/targets/inventory/files/test_2-2.2_options.yml diff --git a/tests/integration/targets/inventory/files/test-inventory-options-flatten.json b/tests/integration/targets/inventory/files/test_2-2.2_options_flatten.json similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-options-flatten.json rename to tests/integration/targets/inventory/files/test_2-2.2_options_flatten.json diff --git a/tests/integration/targets/inventory/files/test-inventory-options-flatten.yml b/tests/integration/targets/inventory/files/test_2-2.2_options_flatten.yml similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-options-flatten.yml rename to tests/integration/targets/inventory/files/test_2-2.2_options_flatten.yml diff --git a/tests/integration/targets/inventory/files/test-inventory-plurals.json b/tests/integration/targets/inventory/files/test_2-2.2_plurals.json similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-plurals.json rename to tests/integration/targets/inventory/files/test_2-2.2_plurals.json diff --git a/tests/integration/targets/inventory/files/test-inventory-plurals.yml b/tests/integration/targets/inventory/files/test_2-2.2_plurals.yml similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-plurals.yml rename to tests/integration/targets/inventory/files/test_2-2.2_plurals.yml diff --git a/tests/integration/targets/inventory/files/test-inventory-plurals-flatten.json b/tests/integration/targets/inventory/files/test_2-2.2_plurals_flatten.json similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-plurals-flatten.json rename to tests/integration/targets/inventory/files/test_2-2.2_plurals_flatten.json diff --git a/tests/integration/targets/inventory/files/test-inventory-plurals-flatten.yml b/tests/integration/targets/inventory/files/test_2-2.2_plurals_flatten.yml similarity index 100% rename from tests/integration/targets/inventory/files/test-inventory-plurals-flatten.yml rename to tests/integration/targets/inventory/files/test_2-2.2_plurals_flatten.yml From 544f407243484d2efdcd52a89e4f55ac711f290a Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 27 Mar 2024 13:13:23 -0500 Subject: [PATCH 2/6] Updates inventory tests to match new pattern --- tests/integration/entrypoint.sh | 6 +++-- tests/integration/targets/inventory/runme.sh | 26 +++++++++++++++++++ .../targets/inventory/runme_config.template | 4 +-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/tests/integration/entrypoint.sh b/tests/integration/entrypoint.sh index 0c667747..4d8a964a 100755 --- a/tests/integration/entrypoint.sh +++ b/tests/integration/entrypoint.sh @@ -10,8 +10,8 @@ set -o pipefail function render { - readonly template="$1"; shift - readonly content="$(cat "$template")" + template="$1"; shift + content="$(cat "$template")" eval "echo \"$content\"" } @@ -23,6 +23,8 @@ function main { echo "# Rendering integration configuration" render "./tests/integration/integration_config.tmpl.yml" > ./tests/integration/integration_config.yml + echo "# Creating inventory test config" + render "./tests/integration/targets/inventory/runme_config.template" > ./tests/integration/targets/inventory/runme_config echo "# Checking to make sure Nautobot server is reachable.." timeout 300 bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' nautobot:8000/health/)" != "200" ]]; do echo "waiting for Nautobot"; sleep 5; done' || false diff --git a/tests/integration/targets/inventory/runme.sh b/tests/integration/targets/inventory/runme.sh index ad146d6f..9749666c 100755 --- a/tests/integration/targets/inventory/runme.sh +++ b/tests/integration/targets/inventory/runme.sh @@ -46,12 +46,38 @@ inventory () { RESULT=0 +# Convert NAUTOBOT_VER to just semantic version (strips any beta/rc/etc monikers) +NAUTOBOT_VER=$(echo "$NAUTOBOT_VER" | cut -d'-' -f1) +# Ensure NAUTOBOT_VER always has 3 sections of version (major.minor.patch) for proper min/max comparison below +IFS='.' read -ra VER <<< "$NAUTOBOT_VER" +if [[ ${#VER[@]} -eq 1 ]]; then + NAUTOBOT_VER="${VER[0]}.0.0" +elif [[ ${#VER[@]} -eq 2 ]]; then + NAUTOBOT_VER="${VER[0]}.${VER[1]}.0" +fi + for INVENTORY in "$INVENTORIES_DIR"/*.yml do NAME="$(basename "$INVENTORY")" NAME_WITHOUT_EXTENSION="${NAME%.yml}" OUTPUT_JSON="$OUTPUT_DIR/$NAME_WITHOUT_EXTENSION.json" + # Extract min and max versions from the filename + VERSION_PATTERN="test_([0-9.]+)-([0-9.]+).*\.yml" + if [[ "$NAME" =~ $VERSION_PATTERN ]]; then + MIN_VERSION="${BASH_REMATCH[1]}" + MAX_VERSION="${BASH_REMATCH[2]}" + else + echo "Invalid filename format: $NAME" + exit 1 + fi + # Check if NAUTOBOT_VER is within the specified range + if ! printf "%s\n%s\n%s\n" $MIN_VERSION $NAUTOBOT_VER $MAX_VERSION | sort -V -C; then + # The sort statement will return non-zero if the versions are not in order (min <= nautobot_ver <= max) + echo "NAUTOBOT_VER is $NAUTOBOT_VER, skipping inventory test: $NAME" + continue + fi + inventory -vvvv --list --inventory "$INVENTORY" --output="$OUTPUT_JSON" # Compare the output diff --git a/tests/integration/targets/inventory/runme_config.template b/tests/integration/targets/inventory/runme_config.template index 7865d774..1b292e62 100644 --- a/tests/integration/targets/inventory/runme_config.template +++ b/tests/integration/targets/inventory/runme_config.template @@ -1,6 +1,6 @@ # runme_config is source'd by runme.sh to set environment variables used to modify the test against different versions of Nautobot. -# .travis.yml uses render_config.sh to generate it from runme_config.template +# entrypoint.sh generates it from runme_config.template (this file) # There is no other way to pass environment variables to a runme.sh integration test. # (integration_config.yml files are only helpful to ansible yaml-based tests) -export PYNAUTOBOT_VERSION=${VERSION} +export NAUTOBOT_VER=${NAUTOBOT_VER} From 7e31a749d9132d0928ca10fb8c260abc3d104450 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 27 Mar 2024 13:13:43 -0500 Subject: [PATCH 3/6] Adds new 2.2+ version files --- .../targets/inventory/files/test_2.2-3.json | 2869 ++++++++++++++++ .../targets/inventory/files/test_2.2-3.yml | 27 + .../inventory/files/test_2.2-3_legacy.json | 778 +++++ .../inventory/files/test_2.2-3_legacy.yml | 9 + .../inventory/files/test_2.2-3_options.json | 474 +++ .../inventory/files/test_2.2-3_options.yml | 60 + .../files/test_2.2-3_options_flatten.json | 2835 ++++++++++++++++ .../files/test_2.2-3_options_flatten.yml | 39 + .../inventory/files/test_2.2-3_plurals.json | 2952 +++++++++++++++++ .../inventory/files/test_2.2-3_plurals.yml | 36 + .../files/test_2.2-3_plurals_flatten.json | 516 +++ .../files/test_2.2-3_plurals_flatten.yml | 30 + 12 files changed, 10625 insertions(+) create mode 100644 tests/integration/targets/inventory/files/test_2.2-3.json create mode 100644 tests/integration/targets/inventory/files/test_2.2-3.yml create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_legacy.json create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_legacy.yml create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_options.json create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_options.yml create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_options_flatten.yml create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_plurals.json create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_plurals.yml create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json create mode 100644 tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.yml diff --git a/tests/integration/targets/inventory/files/test_2.2-3.json b/tests/integration/targets/inventory/files/test_2.2-3.json new file mode 100644 index 00000000..5816c7c8 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3.json @@ -0,0 +1,2869 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "config_context": {}, + "custom_fields": {}, + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Main Test Rack", + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "config_context": {}, + "custom_fields": {}, + "device_type": "Nexus Parent", + "dns_name": "nexus.example.com", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.449934Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.494441Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "56a8ae15-5543-496f-addf-5038a27a3cb0", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/56a8ae15-5543-496f-addf-5038a27a3cb0/" + }, + "display": "Test Nexus Child One", + "face": null, + "id": "3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a", + "last_updated": "2024-03-27T17:38:39.854921Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_3d0c", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/", + "vc_position": 2, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "Ethernet2/1", + "enabled": true, + "id": "f4796f28-9625-43eb-9b99-8684cf6f535a", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.12/24", + "created": "2024-03-27T17:38:41.943535Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.12/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.12", + "id": "e0e90260-e594-4731-93ab-5efca44b55e7", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.943593Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-12_e0e9", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.449955Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "Ethernet2/1", + "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_f479", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.395148Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "Ethernet1/1", + "enabled": true, + "id": "2f84a3d8-6923-4daf-8817-a79e62576085", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.11/24", + "created": "2024-03-27T17:38:41.904010Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.11/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.11", + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.904032Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-11_25de", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.395169Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "Ethernet1/1", + "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_2f84", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/", + "vrf": null + } + ], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "primary_ip4": "172.16.180.11", + "role": "Core Switch", + "services": [ + { + "created": "2024-03-27T17:38:46.460861Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "telnet (TCP/23)", + "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.460883Z", + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.856585Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "69c3d77b-1523-43a8-acde-61e993c7f011", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.856616Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_69c3", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.895334Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "0c4b09cb-d1b9-47aa-ae7c-9bce45792c65", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.895355Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_0c4b", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "locations": [], + "services": [ + { + "created": "2024-03-27T17:38:46.503654Z", + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.503676Z", + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "TestDeviceR1": { + "config_context": {}, + "custom_fields": {}, + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Sub Test Rack", + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test100": { + "config_context": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "custom_fields": {}, + "device_type": "Cisco Test", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.714492Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet1", + "enabled": true, + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.714514Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet1", + "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_52f9", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.769927Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet2", + "enabled": true, + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "2001::ffff:ffff:ffff:ffff", + "created": "2024-03-27T17:38:33.624801Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "2001::/64", + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "ip_version": 6, + "last_updated": "2024-03-27T17:38:33.624822Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_2001_64_386d", + "network": "2001::", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "2001::/64", + "prefix_length": 64, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.769947Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet2", + "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_1747", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.823634Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet3", + "enabled": true, + "id": "0f0ab93e-e3f6-4b86-81dd-8d2b7542b999", + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.823708Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet3", + "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_0f0a", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.878515Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet4", + "enabled": true, + "id": "884700bf-df8c-4c60-8152-d628adf4ad4d", + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.878535Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet4", + "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_8847", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/", + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "role": "Core Switch", + "services": [ + { + "created": "2024-03-27T17:38:46.266002Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.266022Z", + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", + "virtual_machine": null + }, + { + "created": "2024-03-27T17:38:46.330100Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "interfaces": [ + { + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + } + ], + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "interfaces": [ + { + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + } + ], + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", + "vm_interfaces": [] + } + ], + "last_updated": "2024-03-27T17:38:46.330122Z", + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": "Test Tenant", + "tenant_group": "Test Tenant Group" + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.493001Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "68efcdc5-9817-41a4-b43d-ac0d71de1258", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.493021Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test100-vm_eth0_68ef", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.531848Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "5f6c793c-67bd-49c1-86f7-c4329d5b3e31", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.531868Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test100-vm_eth1_5f6c", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.567074Z", + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "id": "a4855b52-d842-4ab3-9bfc-0bd09e25d449", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.567095Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test100-vm_eth2_a485", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.603016Z", + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "id": "a5b6426a-e16a-4653-b975-06318e7b0bcd", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.603038Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test100-vm_eth3_a5b6", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.639169Z", + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "id": "fafbd094-dc87-48c1-85ff-befa3acddc5d", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.639189Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test100-vm_eth4_fafb", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.675591Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "aff5b547-577c-4b4d-aa7c-54f55689fbb7", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.675627Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test101-vm_eth0_aff5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.710839Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "2242e517-063b-437c-8bf8-2a5b5c4da3ff", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.710859Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test101-vm_eth1_2242", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.746185Z", + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "id": "72a3dba0-43f5-44c9-9325-b1ccb67e8a17", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.746206Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test101-vm_eth2_72a3", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.784908Z", + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "id": "de89e19b-28d2-4449-82c0-df8866d014f5", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.784930Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test101-vm_eth3_de89", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.820145Z", + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "id": "a22ad719-a487-44a1-96e9-d38ca1ff3b29", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.820169Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test101-vm_eth4_a22a", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": {}, + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + } + } + }, + "all": { + "children": [ + "ungrouped", + "location_child_test_location", + "location_parent_test_location", + "rack_main_test_rack", + "rack_group_parent_rack_group", + "rack_role_test_rack_role", + "role_core_switch", + "device_type_cisco_test", + "manufacturer_cisco", + "status_active", + "tenant_test_tenant", + "service_ssh", + "service_http", + "location_child_child_test_location", + "rack_sub_test_rack", + "rack_group_child_rack_group", + "device_type_nexus_parent", + "service_telnet", + "cluster_test_cluster", + "cluster_group_test_cluster_group", + "cluster_type_test_cluster_type", + "is_virtual", + "cluster_test_cluster_2" + ] + }, + "cluster_group_test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster_2": { + "hosts": [ + "test104-vm", + "Test VM With Spaces" + ] + }, + "cluster_type_test_cluster_type": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "device_type_cisco_test": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1" + ] + }, + "device_type_nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "is_virtual": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "location_child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "location_child_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "location_parent_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "manufacturer_cisco": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "rack_group_child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "rack_group_parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "rack_main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "rack_role_test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "rack_sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "role_core_switch": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "service_http": { + "hosts": [ + "test100" + ] + }, + "service_ssh": { + "hosts": [ + "test100", + "Test VM With Spaces" + ] + }, + "service_telnet": { + "hosts": [ + "Test Nexus One" + ] + }, + "status_active": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "tenant_test_tenant": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3.yml b/tests/integration/targets/inventory/files/test_2.2-3.yml new file mode 100644 index 00000000..9dbdf06d --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3.yml @@ -0,0 +1,27 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: False + +config_context: True +plurals: False +interfaces: True +services: True + +group_by: + - location + - tenant + - rack + - rack_group + - rack_role + - tag + - role + - device_type + - manufacturer + - platform + - cluster + - cluster_group + - cluster_type + - is_virtual + - services + - status diff --git a/tests/integration/targets/inventory/files/test_2.2-3_legacy.json b/tests/integration/targets/inventory/files/test_2.2-3_legacy.json new file mode 100644 index 00000000..59d12f1b --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_legacy.json @@ -0,0 +1,778 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "racks": [ + "Main Test Rack" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Nexus Parent" + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "primary_ip4": "172.16.180.11", + "services": [ + { + "created": "2024-03-27T17:38:46.460861Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "telnet (TCP/23)", + "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.460883Z", + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "services": [ + { + "created": "2024-03-27T17:38:46.503654Z", + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.503676Z", + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "TestDeviceR1": { + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "racks": [ + "Sub Test Rack" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test100": { + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "is_virtual": false, + "local_context_data": [ + { + "ntp_servers": [ + "pool.ntp.org" + ] + } + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "services": [ + { + "created": "2024-03-27T17:38:46.266002Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.266022Z", + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", + "virtual_machine": null + }, + { + "created": "2024-03-27T17:38:46.330100Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "interfaces": [ + { + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + } + ], + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "interfaces": [ + { + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + } + ], + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", + "vm_interfaces": [] + } + ], + "last_updated": "2024-03-27T17:38:46.330122Z", + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant_group": "Test Tenant Group", + "tenants": [ + "Test Tenant" + ] + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + } + } + }, + "all": { + "children": [ + "ungrouped" + ] + }, + "ungrouped": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3_legacy.yml b/tests/integration/targets/inventory/files/test_2.2-3_legacy.yml new file mode 100644 index 00000000..8eed6372 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_legacy.yml @@ -0,0 +1,9 @@ +# To generate the json result, I checked out inventory.yml from the v0.2.0 release 2d6894b, +# and then ran it against this inventory with the latest test data. + +# Checks that substantial work on the inventory does not diverge from what existing users are using by default. + +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: false diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options.json b/tests/integration/targets/inventory/files/test_2.2-3_options.json new file mode 100644 index 00000000..1712f3e0 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_options.json @@ -0,0 +1,474 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "custom_fields": {}, + "device_type": "Cisco Test", + "display": "R1-Device", + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Main Test Rack", + "rack_groups": [ + "Parent Rack Group" + ], + "rack_id": "17e3b2ab-1ca9-4c40-a3a7-8ccdcf1b4bb4", + "rack_role": "Test Rack Role", + "role": "Core Switch", + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "display": "Test VM With Spaces", + "is_virtual": true, + "locations": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "TestDeviceR1": { + "custom_fields": {}, + "device_type": "Cisco Test", + "display": "TestDeviceR1", + "is_virtual": false, + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Sub Test Rack", + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "rack_id": "809a01a4-8640-4ce7-8163-76901aa4211f", + "role": "Core Switch", + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "VC1": { + "ansible_host": "nexus.example.com", + "custom_fields": {}, + "device_type": "Nexus Parent", + "display": "Test Nexus One", + "dns_name": "nexus.example.com", + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "primary_ip4": "172.16.180.11", + "role": "Core Switch", + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test100": { + "custom_fields": {}, + "device_type": "Cisco Test", + "display": "test100", + "is_virtual": false, + "local_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "role": "Core Switch", + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": "Test Tenant", + "tenant_group": "Test Tenant Group" + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "display": "test100-vm", + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "display": "test101-vm", + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "display": "test102-vm", + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "display": "test103-vm", + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "custom_fields": {}, + "display": "test104-vm", + "is_virtual": true, + "locations": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + } + } + }, + "active": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "VC1", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "all": { + "children": [ + "ungrouped", + "child_test_location", + "parent_test_location", + "main_test_rack", + "parent_rack_group", + "test_rack_role", + "core_switch", + "cisco_test", + "cisco", + "active", + "test_tenant", + "jinja_test_group", + "child_child_test_location", + "sub_test_rack", + "child_rack_group", + "nexus_parent", + "test_cluster", + "test_cluster_group", + "test_cluster_type", + "is_virtual", + "test_cluster_2" + ] + }, + "child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "VC1", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cisco": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "VC1" + ] + }, + "cisco_test": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1" + ] + }, + "core_switch": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "VC1" + ] + }, + "is_virtual": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "jinja_test_group": { + "hosts": [ + "TestDeviceR1", + "Test VM With Spaces" + ] + }, + "main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "nexus_parent": { + "hosts": [ + "VC1" + ] + }, + "parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "parent_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "VC1", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_2": { + "hosts": [ + "test104-vm", + "Test VM With Spaces" + ] + }, + "test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_type": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "test_tenant": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options.yml b/tests/integration/targets/inventory/files/test_2.2-3_options.yml new file mode 100644 index 00000000..50875085 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_options.yml @@ -0,0 +1,60 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: False + +# Cache is not for performance of tests, but to test the caching option works +# Also set on test-inventory-plurals.yml so that we actually hit the cache on one of these runs +cache: True +cache_timeout: 3600 +cache_plugin: jsonfile +cache_connection: /tmp/inventory_nautobot + +config_context: False +plurals: False +interfaces: False +services: False +group_names_raw: True +virtual_chassis_name: True +dns_name: True +ansible_host_dns_name: True + +group_by: + - location + - tenant + - rack + - rack_group + - rack_role + - tag + - role + - device_type + - manufacturer + - platform + - cluster + - cluster_group + - cluster_type + - is_virtual + - status + +query_filters: + +device_query_filters: + - role: "Core Switch" + +vm_query_filters: + - cluster_type: "Test Cluster Type" + +# See Constructed for details +# https://docs.ansible.com/ansible/latest/plugins/inventory/constructed.html + +compose: + display: display + rack_id: rack.id + ntp_servers: config_context.ntp_servers + +keyed_groups: + - prefix: rack + key: rack.name + +groups: + jinja_test_group: inventory_hostname.startswith('Test') diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json b/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json new file mode 100644 index 00000000..ffa91949 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.json @@ -0,0 +1,2835 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Main Test Rack", + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "device_type": "Nexus Parent", + "dns_name": "nexus.example.com", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.449934Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.494441Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "56a8ae15-5543-496f-addf-5038a27a3cb0", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/56a8ae15-5543-496f-addf-5038a27a3cb0/" + }, + "display": "Test Nexus Child One", + "face": null, + "id": "3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a", + "last_updated": "2024-03-27T17:38:39.854921Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_3d0c", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/", + "vc_position": 2, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "Ethernet2/1", + "enabled": true, + "id": "f4796f28-9625-43eb-9b99-8684cf6f535a", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.12/24", + "created": "2024-03-27T17:38:41.943535Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.12/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.12", + "id": "e0e90260-e594-4731-93ab-5efca44b55e7", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.943593Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-12_e0e9", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.449955Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "Ethernet2/1", + "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_f479", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.395148Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "Ethernet1/1", + "enabled": true, + "id": "2f84a3d8-6923-4daf-8817-a79e62576085", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.11/24", + "created": "2024-03-27T17:38:41.904010Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.11/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.11", + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.904032Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-11_25de", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.395169Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "Ethernet1/1", + "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_2f84", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/", + "vrf": null + } + ], + "is_virtual": false, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "primary_ip4": "172.16.180.11", + "role": "Core Switch", + "services": [ + { + "created": "2024-03-27T17:38:46.460861Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "telnet (TCP/23)", + "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.460883Z", + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.856585Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "69c3d77b-1523-43a8-acde-61e993c7f011", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.856616Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_69c3", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.895334Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "0c4b09cb-d1b9-47aa-ae7c-9bce45792c65", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.895355Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_0c4b", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "locations": [], + "services": [ + { + "created": "2024-03-27T17:38:46.503654Z", + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.503676Z", + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "TestDeviceR1": { + "device_type": "Cisco Test", + "interfaces": [], + "is_virtual": false, + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "rack": "Sub Test Rack", + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "role": "Core Switch", + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test100": { + "device_type": "Cisco Test", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.714492Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet1", + "enabled": true, + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.714514Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet1", + "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_52f9", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.769927Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet2", + "enabled": true, + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "2001::ffff:ffff:ffff:ffff", + "created": "2024-03-27T17:38:33.624801Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "2001::/64", + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "ip_version": 6, + "last_updated": "2024-03-27T17:38:33.624822Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_2001_64_386d", + "network": "2001::", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "2001::/64", + "prefix_length": 64, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.769947Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet2", + "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_1747", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.823634Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet3", + "enabled": true, + "id": "0f0ab93e-e3f6-4b86-81dd-8d2b7542b999", + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.823708Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet3", + "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_0f0a", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.878515Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet4", + "enabled": true, + "id": "884700bf-df8c-4c60-8152-d628adf4ad4d", + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.878535Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet4", + "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_8847", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/", + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturer": "Cisco", + "ntp_servers": [ + "pool.ntp.org" + ], + "role": "Core Switch", + "services": [ + { + "created": "2024-03-27T17:38:46.266002Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.266022Z", + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", + "virtual_machine": null + }, + { + "created": "2024-03-27T17:38:46.330100Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "interfaces": [ + { + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + } + ], + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "interfaces": [ + { + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + } + ], + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", + "vm_interfaces": [] + } + ], + "last_updated": "2024-03-27T17:38:46.330122Z", + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": "Test Tenant", + "tenant_group": "Test Tenant Group" + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.493001Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "68efcdc5-9817-41a4-b43d-ac0d71de1258", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.493021Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test100-vm_eth0_68ef", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.531848Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "5f6c793c-67bd-49c1-86f7-c4329d5b3e31", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.531868Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test100-vm_eth1_5f6c", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.567074Z", + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "id": "a4855b52-d842-4ab3-9bfc-0bd09e25d449", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.567095Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test100-vm_eth2_a485", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.603016Z", + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "id": "a5b6426a-e16a-4653-b975-06318e7b0bcd", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.603038Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test100-vm_eth3_a5b6", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.639169Z", + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "id": "fafbd094-dc87-48c1-85ff-befa3acddc5d", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.639189Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test100-vm_eth4_fafb", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.675591Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "aff5b547-577c-4b4d-aa7c-54f55689fbb7", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.675627Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test101-vm_eth0_aff5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.710839Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "2242e517-063b-437c-8bf8-2a5b5c4da3ff", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.710859Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test101-vm_eth1_2242", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.746185Z", + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "id": "72a3dba0-43f5-44c9-9325-b1ccb67e8a17", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.746206Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test101-vm_eth2_72a3", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.784908Z", + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "id": "de89e19b-28d2-4449-82c0-df8866d014f5", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.784930Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test101-vm_eth3_de89", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.820145Z", + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "id": "a22ad719-a487-44a1-96e9-d38ca1ff3b29", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.820169Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test101-vm_eth4_a22a", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "interfaces": [], + "is_virtual": true, + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "interfaces": [], + "is_virtual": true, + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + } + } + }, + "active": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "all": { + "children": [ + "ungrouped", + "child_test_location", + "parent_test_location", + "main_test_rack", + "parent_rack_group", + "test_rack_role", + "core_switch", + "cisco_test", + "cisco", + "active", + "test_tenant", + "test_tenant_group", + "child_child_test_location", + "sub_test_rack", + "child_rack_group", + "nexus_parent", + "test_cluster", + "test_cluster_group", + "test_cluster_type", + "is_virtual", + "test_cluster_2" + ] + }, + "child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cisco": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "cisco_test": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1" + ] + }, + "core_switch": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "is_virtual": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "parent_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_2": { + "hosts": [ + "test104-vm", + "Test VM With Spaces" + ] + }, + "test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_type": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "test_tenant": { + "hosts": [ + "test100" + ] + }, + "test_tenant_group": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.yml b/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.yml new file mode 100644 index 00000000..7f59c25e --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_options_flatten.yml @@ -0,0 +1,39 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: False + +# Use cache on this test to make sure interfaces is tested via the cache +cache: True +cache_timeout: 3600 +cache_plugin: jsonfile +cache_connection: /tmp/inventory_nautobot + +config_context: True +flatten_config_context: True +flatten_custom_fields: True +flatten_local_context_data: True +plurals: False +interfaces: True +services: True +fetch_all: False +max_uri_length: 0 +group_names_raw: True + +group_by: + - location + - tenant + - tenant_group + - rack + - rack_group + - rack_role + - tag + - role + - device_type + - manufacturer + - platform + - cluster + - cluster_group + - cluster_type + - is_virtual + - status diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals.json b/tests/integration/targets/inventory/files/test_2.2-3_plurals.json new file mode 100644 index 00000000..d4077530 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_plurals.json @@ -0,0 +1,2952 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "config_context": [ + {} + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "interfaces": [], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "racks": [ + "Main Test Rack" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "config_context": [ + {} + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Nexus Parent" + ], + "dns_name": "nexus.example.com", + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.449934Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.494441Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "56a8ae15-5543-496f-addf-5038a27a3cb0", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/56a8ae15-5543-496f-addf-5038a27a3cb0/" + }, + "display": "Test Nexus Child One", + "face": null, + "id": "3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a", + "last_updated": "2024-03-27T17:38:39.854921Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus Child One", + "natural_slug": "test-nexus-child-one__child-test-location_parent-test-location_3d0c", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/3d0c8f54-d24d-4d7a-8f5b-7a536fe0cc5a/", + "vc_position": 2, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "Ethernet2/1", + "enabled": true, + "id": "f4796f28-9625-43eb-9b99-8684cf6f535a", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.12/24", + "created": "2024-03-27T17:38:41.943535Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.12/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.12", + "id": "e0e90260-e594-4731-93ab-5efca44b55e7", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.943593Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-12_e0e9", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/e0e90260-e594-4731-93ab-5efca44b55e7/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.449955Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "Ethernet2/1", + "natural_slug": "ethernet2-1_test-nexus-child-one__child-test-location_parent-test-location_f479", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/f4796f28-9625-43eb-9b99-8684cf6f535a/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.395148Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "Ethernet1/1", + "enabled": true, + "id": "2f84a3d8-6923-4daf-8817-a79e62576085", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.11/24", + "created": "2024-03-27T17:38:41.904010Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.11/24", + "dns_name": "nexus.example.com", + "host": "172.16.180.11", + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.904032Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-11_25de", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.395169Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "Ethernet1/1", + "natural_slug": "ethernet1-1_test-nexus-one__child-test-location_parent-test-location_2f84", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/2f84a3d8-6923-4daf-8817-a79e62576085/", + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "primary_ip4": "172.16.180.11", + "services": [ + { + "created": "2024-03-27T17:38:46.460861Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.423871Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "3d51d3ca-454b-4824-859e-4601eb8022bd", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/3d51d3ca-454b-4824-859e-4601eb8022bd/" + }, + "display": "Test Nexus One", + "face": null, + "id": "b7867e42-ccb0-4251-be86-ea7b9a84b104", + "last_updated": "2024-03-27T17:38:43.334405Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "Test Nexus One", + "natural_slug": "test-nexus-one__child-test-location_parent-test-location_b786", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": { + "id": "25dedf45-b258-442f-829e-e54774ce8017", + "object_type": "ipam.ipaddress", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/25dedf45-b258-442f-829e-e54774ce8017/" + }, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/dcim/devices/b7867e42-ccb0-4251-be86-ea7b9a84b104/", + "vc_position": 0, + "vc_priority": null, + "virtual_chassis": { + "id": "c96554c7-425c-4064-aae8-c11bcffeca62", + "object_type": "dcim.virtualchassis", + "url": "http://127.0.0.1:8000/api/dcim/virtual-chassis/c96554c7-425c-4064-aae8-c11bcffeca62/" + } + }, + "display": "telnet (TCP/23)", + "id": "9113902d-6ec7-4585-babf-4ac87889c7e3", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.460883Z", + "name": "telnet", + "natural_slug": "telnet____test-nexus-one__child-test-location_parent-test-location_9113", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/notes/", + "object_type": "ipam.service", + "ports": [ + 23 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/9113902d-6ec7-4585-babf-4ac87889c7e3/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.856585Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "69c3d77b-1523-43a8-acde-61e993c7f011", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.856616Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth0_69c3", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/69c3d77b-1523-43a8-acde-61e993c7f011/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.895334Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "0c4b09cb-d1b9-47aa-ae7c-9bce45792c65", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.895355Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster-2__test-vm-with-spaces_eth1_0c4b", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/0c4b09cb-d1b9-47aa-ae7c-9bce45792c65/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "services": [ + { + "created": "2024-03-27T17:38:46.503654Z", + "custom_fields": {}, + "description": "", + "device": null, + "display": "ssh (TCP/22)", + "id": "fa302796-cedb-4484-a324-a1569ae9c4ba", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.503676Z", + "name": "ssh", + "natural_slug": "ssh_test-cluster-2__test-vm-with-spaces_fa30", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/fa302796-cedb-4484-a324-a1569ae9c4ba/", + "virtual_machine": { + "cluster": { + "id": "48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/48f3c0e7-e0d8-4af7-a9f8-4b28530b6e2b/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.562206Z", + "custom_fields": {}, + "disk": null, + "display": "Test VM With Spaces", + "id": "1ff0d587-3843-402a-a9a0-d229e743b008", + "last_updated": "2024-03-27T17:38:44.562228Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "Test VM With Spaces", + "natural_slug": "test-cluster-2__test-vm-with-spaces_1ff0", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ff0d587-3843-402a-a9a0-d229e743b008/", + "vcpus": null + } + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "TestDeviceR1": { + "config_context": [ + {} + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "interfaces": [], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "racks": [ + "Sub Test Rack" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test100": { + "config_context": [ + { + "ntp_servers": [ + "pool.ntp.org" + ] + } + ], + "custom_fields": {}, + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "interfaces": [ + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.714492Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet1", + "enabled": true, + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "172.31.255.255", + "created": "2024-03-27T17:38:33.543642Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "172.16.0.0/12", + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "ip_version": 4, + "last_updated": "2024-03-27T17:38:33.543671Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_172-16-0-0_12_0733", + "network": "172.16.0.0", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "172.16.0.0/12", + "prefix_length": 12, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.714514Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet1", + "natural_slug": "gigabitethernet1_test100_test-tenant_child-test-location_parent-test-location_52f9", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.769927Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet2", + "enabled": true, + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "ip_address_count": 1, + "ip_addresses": [ + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "broadcast": "2001::ffff:ffff:ffff:ffff", + "created": "2024-03-27T17:38:33.624801Z", + "custom_fields": {}, + "date_allocated": null, + "description": "", + "display": "2001::/64", + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "ip_version": 6, + "last_updated": "2024-03-27T17:38:33.624822Z", + "namespace": { + "created": "2024-03-27T17:37:15.805479Z", + "custom_fields": {}, + "description": "Default Global namespace. Created by Nautobot.", + "display": "Global", + "id": "a21f42e2-e600-4eea-bf7c-644f7304b4e2", + "last_updated": "2024-03-27T17:37:15.805514Z", + "location": null, + "name": "Global", + "natural_slug": "global_a21f", + "notes_url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/notes/", + "object_type": "ipam.namespace", + "url": "http://127.0.0.1:8000/api/ipam/namespaces/a21f42e2-e600-4eea-bf7c-644f7304b4e2/" + }, + "natural_slug": "global_2001_64_386d", + "network": "2001::", + "notes_url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/notes/", + "object_type": "ipam.prefix", + "parent": null, + "prefix": "2001::/64", + "prefix_length": 64, + "rir": null, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": { + "label": "Network", + "value": "network" + }, + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/", + "vlan": null + }, + "role": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/" + } + ], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.769947Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet2", + "natural_slug": "gigabitethernet2_test100_test-tenant_child-test-location_parent-test-location_1747", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.823634Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet3", + "enabled": true, + "id": "0f0ab93e-e3f6-4b86-81dd-8d2b7542b999", + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.823708Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet3", + "natural_slug": "gigabitethernet3_test100_test-tenant_child-test-location_parent-test-location_0f0a", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/0f0ab93e-e3f6-4b86-81dd-8d2b7542b999/", + "vrf": null + }, + { + "bridge": null, + "cable": null, + "cable_peer": null, + "cable_peer_type": null, + "connected_endpoint": null, + "connected_endpoint_reachable": null, + "connected_endpoint_type": null, + "created": "2024-03-27T17:38:40.878515Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "GigabitEthernet4", + "enabled": true, + "id": "884700bf-df8c-4c60-8152-d628adf4ad4d", + "ip_address_count": 0, + "ip_addresses": [], + "label": "", + "lag": null, + "last_updated": "2024-03-27T17:38:40.878535Z", + "mac_address": null, + "mgmt_only": false, + "mode": null, + "mtu": null, + "name": "GigabitEthernet4", + "natural_slug": "gigabitethernet4_test100_test-tenant_child-test-location_parent-test-location_8847", + "notes_url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/notes/", + "object_type": "dcim.interface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "type": { + "label": "1000BASE-T (1GE)", + "value": "1000base-t" + }, + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/dcim/interfaces/884700bf-df8c-4c60-8152-d628adf4ad4d/", + "vrf": null + } + ], + "is_virtual": false, + "local_context_data": [ + { + "ntp_servers": [ + "pool.ntp.org" + ] + } + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "services": [ + { + "created": "2024-03-27T17:38:46.266002Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "ssh (TCP/22)", + "id": "6c74dff6-acf8-44a6-a9a0-1ff519eff6df", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:46.266022Z", + "name": "ssh", + "natural_slug": "ssh____test100_test-tenant_child-test-location_parent-test-location_6c74", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/notes/", + "object_type": "ipam.service", + "ports": [ + 22 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/6c74dff6-acf8-44a6-a9a0-1ff519eff6df/", + "virtual_machine": null + }, + { + "created": "2024-03-27T17:38:46.330100Z", + "custom_fields": {}, + "description": "", + "device": { + "asset_tag": null, + "cluster": null, + "comments": "", + "controller_device_group": null, + "created": "2024-03-27T17:38:37.149539Z", + "custom_fields": {}, + "device_redundancy_group": null, + "device_redundancy_group_priority": null, + "device_type": { + "id": "95784626-b8a8-4810-8ebf-4c75b4b2e90f", + "object_type": "dcim.devicetype", + "url": "http://127.0.0.1:8000/api/dcim/device-types/95784626-b8a8-4810-8ebf-4c75b4b2e90f/" + }, + "display": "test100", + "face": null, + "id": "d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3", + "last_updated": "2024-03-27T17:38:37.149559Z", + "local_config_context_data": { + "ntp_servers": [ + "pool.ntp.org" + ] + }, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "location": { + "id": "73e14892-23ef-463b-8285-7e50ee48ea67", + "object_type": "dcim.location", + "url": "http://127.0.0.1:8000/api/dcim/locations/73e14892-23ef-463b-8285-7e50ee48ea67/" + }, + "name": "test100", + "natural_slug": "test100_test-tenant_child-test-location_parent-test-location_d586", + "notes_url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/notes/", + "object_type": "dcim.device", + "parent_bay": null, + "platform": null, + "position": null, + "primary_ip4": null, + "primary_ip6": null, + "rack": null, + "role": { + "id": "15d32a44-c450-41bc-9fae-d1a4581dcaea", + "object_type": "extras.role", + "url": "http://127.0.0.1:8000/api/extras/roles/15d32a44-c450-41bc-9fae-d1a4581dcaea/" + }, + "secrets_group": null, + "serial": "", + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": { + "id": "9f8b10f8-9513-4581-94a2-41cefc3735dd", + "object_type": "tenancy.tenant", + "url": "http://127.0.0.1:8000/api/tenancy/tenants/9f8b10f8-9513-4581-94a2-41cefc3735dd/" + }, + "url": "http://127.0.0.1:8000/api/dcim/devices/d586c1fd-27c7-4e4a-bac9-a2a62b6df7e3/", + "vc_position": null, + "vc_priority": null, + "virtual_chassis": null + }, + "display": "http (TCP/80)", + "id": "c84e3af1-85b3-4a93-8075-83f2245294c4", + "ip_addresses": [ + { + "address": "172.16.180.1/24", + "created": "2024-03-27T17:38:41.821095Z", + "custom_fields": {}, + "description": "", + "display": "172.16.180.1/24", + "dns_name": "", + "host": "172.16.180.1", + "id": "1e99a20d-b55f-48d4-97a5-1200e4a30213", + "interfaces": [ + { + "id": "52f98b02-b953-4e0a-972b-e1b3aa0f6f59", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/52f98b02-b953-4e0a-972b-e1b3aa0f6f59/" + } + ], + "ip_version": 4, + "last_updated": "2024-03-27T17:38:41.821119Z", + "mask_length": 24, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_172-16-180-1_1e99", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "0733b370-dae3-49d5-97ee-911ddd7fdc53", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/0733b370-dae3-49d5-97ee-911ddd7fdc53/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/1e99a20d-b55f-48d4-97a5-1200e4a30213/", + "vm_interfaces": [] + }, + { + "address": "2001::1:1/64", + "created": "2024-03-27T17:38:41.863826Z", + "custom_fields": {}, + "description": "", + "display": "2001::1:1/64", + "dns_name": "", + "host": "2001::1:1", + "id": "17b14b12-322f-4ce0-bf66-5d2669815aef", + "interfaces": [ + { + "id": "1747ac15-09ee-4698-bde0-a02fbe5aed33", + "object_type": "dcim.interface", + "url": "http://127.0.0.1:8000/api/dcim/interfaces/1747ac15-09ee-4698-bde0-a02fbe5aed33/" + } + ], + "ip_version": 6, + "last_updated": "2024-03-27T17:38:41.863861Z", + "mask_length": 64, + "nat_inside": null, + "nat_outside_list": [], + "natural_slug": "global_2001-1-1_17b1", + "notes_url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/notes/", + "object_type": "ipam.ipaddress", + "parent": { + "id": "386da78d-6b55-4c43-be8d-6eb33366a95c", + "object_type": "ipam.prefix", + "url": "http://127.0.0.1:8000/api/ipam/prefixes/386da78d-6b55-4c43-be8d-6eb33366a95c/" + }, + "role": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "type": "host", + "url": "http://127.0.0.1:8000/api/ipam/ip-addresses/17b14b12-322f-4ce0-bf66-5d2669815aef/", + "vm_interfaces": [] + } + ], + "last_updated": "2024-03-27T17:38:46.330122Z", + "name": "http", + "natural_slug": "http____test100_test-tenant_child-test-location_parent-test-location_c84e", + "notes_url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/notes/", + "object_type": "ipam.service", + "ports": [ + 80 + ], + "protocol": { + "label": "TCP", + "value": "tcp" + }, + "tags": [], + "url": "http://127.0.0.1:8000/api/ipam/services/c84e3af1-85b3-4a93-8075-83f2245294c4/", + "virtual_machine": null + } + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant_group": "Test Tenant Group", + "tenants": [ + "Test Tenant" + ] + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.493001Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "68efcdc5-9817-41a4-b43d-ac0d71de1258", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.493021Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test100-vm_eth0_68ef", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/68efcdc5-9817-41a4-b43d-ac0d71de1258/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.531848Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "5f6c793c-67bd-49c1-86f7-c4329d5b3e31", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.531868Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test100-vm_eth1_5f6c", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/5f6c793c-67bd-49c1-86f7-c4329d5b3e31/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.567074Z", + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "id": "a4855b52-d842-4ab3-9bfc-0bd09e25d449", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.567095Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test100-vm_eth2_a485", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a4855b52-d842-4ab3-9bfc-0bd09e25d449/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.603016Z", + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "id": "a5b6426a-e16a-4653-b975-06318e7b0bcd", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.603038Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test100-vm_eth3_a5b6", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a5b6426a-e16a-4653-b975-06318e7b0bcd/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.639169Z", + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "id": "fafbd094-dc87-48c1-85ff-befa3acddc5d", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.639189Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test100-vm_eth4_fafb", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/fafbd094-dc87-48c1-85ff-befa3acddc5d/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.383003Z", + "custom_fields": {}, + "disk": null, + "display": "test100-vm", + "id": "1ea51f9d-3d1c-4122-b6cd-62e49abfebcb", + "last_updated": "2024-03-27T17:38:44.383024Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test100-vm", + "natural_slug": "test-cluster__test100-vm_1ea5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/1ea51f9d-3d1c-4122-b6cd-62e49abfebcb/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [ + { + "bridge": null, + "created": "2024-03-27T17:38:45.675591Z", + "custom_fields": {}, + "description": "", + "display": "Eth0", + "enabled": true, + "id": "aff5b547-577c-4b4d-aa7c-54f55689fbb7", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.675627Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth0", + "natural_slug": "test-cluster__test101-vm_eth0_aff5", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/aff5b547-577c-4b4d-aa7c-54f55689fbb7/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.710839Z", + "custom_fields": {}, + "description": "", + "display": "Eth1", + "enabled": true, + "id": "2242e517-063b-437c-8bf8-2a5b5c4da3ff", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.710859Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth1", + "natural_slug": "test-cluster__test101-vm_eth1_2242", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/2242e517-063b-437c-8bf8-2a5b5c4da3ff/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.746185Z", + "custom_fields": {}, + "description": "", + "display": "Eth2", + "enabled": true, + "id": "72a3dba0-43f5-44c9-9325-b1ccb67e8a17", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.746206Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth2", + "natural_slug": "test-cluster__test101-vm_eth2_72a3", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/72a3dba0-43f5-44c9-9325-b1ccb67e8a17/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.784908Z", + "custom_fields": {}, + "description": "", + "display": "Eth3", + "enabled": true, + "id": "de89e19b-28d2-4449-82c0-df8866d014f5", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.784930Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth3", + "natural_slug": "test-cluster__test101-vm_eth3_de89", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/de89e19b-28d2-4449-82c0-df8866d014f5/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + }, + { + "bridge": null, + "created": "2024-03-27T17:38:45.820145Z", + "custom_fields": {}, + "description": "", + "display": "Eth4", + "enabled": true, + "id": "a22ad719-a487-44a1-96e9-d38ca1ff3b29", + "ip_addresses": [], + "last_updated": "2024-03-27T17:38:45.820169Z", + "mac_address": null, + "mode": null, + "mtu": null, + "name": "Eth4", + "natural_slug": "test-cluster__test101-vm_eth4_a22a", + "notes_url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/notes/", + "object_type": "virtualization.vminterface", + "parent_interface": null, + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tagged_vlans": [], + "tags": [], + "untagged_vlan": null, + "url": "http://127.0.0.1:8000/api/virtualization/interfaces/a22ad719-a487-44a1-96e9-d38ca1ff3b29/", + "virtual_machine": { + "cluster": { + "id": "6af71c22-6611-4079-9957-f078f504ebde", + "object_type": "virtualization.cluster", + "url": "http://127.0.0.1:8000/api/virtualization/clusters/6af71c22-6611-4079-9957-f078f504ebde/" + }, + "comments": "", + "created": "2024-03-27T17:38:44.422957Z", + "custom_fields": {}, + "disk": null, + "display": "test101-vm", + "id": "7c54b8ed-0230-42e8-a7a2-4ddb8e09632f", + "last_updated": "2024-03-27T17:38:44.422978Z", + "local_config_context_data": null, + "local_config_context_data_owner_content_type": null, + "local_config_context_data_owner_object_id": null, + "local_config_context_schema": null, + "memory": null, + "name": "test101-vm", + "natural_slug": "test-cluster__test101-vm_7c54", + "notes_url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/notes/", + "object_type": "virtualization.virtualmachine", + "platform": null, + "primary_ip4": null, + "primary_ip6": null, + "role": null, + "software_version": null, + "status": { + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tenant": null, + "url": "http://127.0.0.1:8000/api/virtualization/virtual-machines/7c54b8ed-0230-42e8-a7a2-4ddb8e09632f/", + "vcpus": null + }, + "vrf": null + } + ], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "config_context": [ + {} + ], + "custom_fields": {}, + "interfaces": [], + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "services": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + } + } + }, + "all": { + "children": [ + "ungrouped", + "locations_child_test_location", + "locations_parent_test_location", + "racks_main_test_rack", + "rack_group_parent_rack_group", + "rack_role_test_rack_role", + "device_roles_core_switch", + "device_types_cisco_test", + "manufacturers_cisco", + "status_active", + "location_parent_test_location", + "location_parent_test_location_2", + "tenants_test_tenant", + "tenant_group_test_tenant_group", + "locations_child_child_test_location", + "racks_sub_test_rack", + "rack_group_child_rack_group", + "device_types_nexus_parent", + "cluster_test_cluster", + "cluster_group_test_cluster_group", + "cluster_type_test_cluster_type", + "is_virtual", + "cluster_test_cluster_2" + ] + }, + "cluster_group_test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cluster_test_cluster_2": { + "hosts": [ + "test104-vm", + "Test VM With Spaces" + ] + }, + "cluster_type_test_cluster_type": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "device_roles_core_switch": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "device_types_cisco_test": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1" + ] + }, + "device_types_nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "is_virtual": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "location_child_test_location": { + "children": [ + "location_child_child_test_location" + ] + }, + "location_parent_test_location": { + "children": [ + "location_child_test_location" + ] + }, + "location_parent_test_location_2": { + "children": [ + "location_child_test_location" + ] + }, + "locations_child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "locations_child_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "locations_parent_test_location": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "manufacturers_cisco": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "rack_group_child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "rack_group_parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "rack_role_test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "racks_main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "racks_sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "status_active": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "tenant_group_test_tenant_group": { + "hosts": [ + "test100" + ] + }, + "tenants_test_tenant": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals.yml b/tests/integration/targets/inventory/files/test_2.2-3_plurals.yml new file mode 100644 index 00000000..26c6f213 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_plurals.yml @@ -0,0 +1,36 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: false + +cache: True +cache_timeout: 3600 +cache_plugin: jsonfile +cache_connection: /tmp/inventory_nautobot + +config_context: True +plurals: True +interfaces: True +services: True + +# Enough to fit only 2 devices, so tests chunking logic +max_uri_length: 80 +fetch_all: False + +group_by: + - locations + - tenants + - tenant_group + - racks + - rack_group + - rack_role + - tags + - device_roles + - device_types + - manufacturers + - platforms + - cluster + - cluster_group + - cluster_type + - is_virtual + - status diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json b/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json new file mode 100644 index 00000000..4e770824 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.json @@ -0,0 +1,516 @@ +{ + "_meta": { + "hostvars": { + "R1-Device": { + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Parent Rack Group" + ], + "rack_role": "Test Rack Role", + "racks": [ + "Main Test Rack" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test Nexus One": { + "ansible_host": "172.16.180.11", + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Nexus Parent" + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "primary_ip4": "172.16.180.11", + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "Test VM With Spaces": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "TestDeviceR1": { + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "is_virtual": false, + "local_context_data": [ + null + ], + "location": "Child-Child Test Location", + "locations": [ + "Child-Child Test Location", + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "rack_groups": [ + "Child Rack Group", + "Parent Rack Group" + ], + "racks": [ + "Sub Test Rack" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test100": { + "device_roles": [ + "Core Switch" + ], + "device_types": [ + "Cisco Test" + ], + "is_virtual": false, + "local_context_data": [ + { + "ntp_servers": [ + "pool.ntp.org" + ] + } + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "manufacturers": [ + "Cisco" + ], + "ntp_servers": [ + "pool.ntp.org" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [], + "tenant_group": "Test Tenant Group", + "tenants": [ + "Test Tenant" + ] + }, + "test100-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test101-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test102-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test103-vm": { + "cluster": "Test Cluster", + "cluster_group": "Test Cluster Group", + "cluster_type": "Test Cluster Type", + "is_virtual": true, + "local_context_data": [ + null + ], + "location": "Child Test Location", + "locations": [ + "Child Test Location", + "Parent Test Location" + ], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + }, + "test104-vm": { + "cluster": "Test Cluster 2", + "cluster_type": "Test Cluster Type", + "is_virtual": true, + "local_context_data": [ + null + ], + "locations": [], + "status": { + "color": "4caf50", + "created": "2024-03-27T00:00:00Z", + "custom_fields": {}, + "description": "Unit is active", + "display": "Active", + "id": "c3377784-68ed-4e2b-88fe-7095d0c2a195", + "last_updated": "2024-03-27T17:37:43.694424Z", + "name": "Active", + "natural_slug": "active_c337", + "notes_url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/notes/", + "object_type": "extras.status", + "url": "http://127.0.0.1:8000/api/extras/statuses/c3377784-68ed-4e2b-88fe-7095d0c2a195/" + }, + "tags": [] + } + } + }, + "active": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "all": { + "children": [ + "ungrouped", + "parent_test_location", + "main_test_rack", + "parent_rack_group", + "test_rack_role", + "core_switch", + "cisco_test", + "cisco", + "active", + "parent_test_location_2", + "test_tenant", + "sub_test_rack", + "child_rack_group", + "nexus_parent", + "test_cluster", + "test_cluster_group", + "test_cluster_type", + "is_virtual", + "test_cluster_2" + ] + }, + "child_child_test_location": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_rack_group": { + "hosts": [ + "TestDeviceR1" + ] + }, + "child_test_location": { + "children": [ + "child_child_test_location" + ], + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "cisco": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "cisco_test": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1" + ] + }, + "core_switch": { + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One" + ] + }, + "is_virtual": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "main_test_rack": { + "hosts": [ + "R1-Device" + ] + }, + "nexus_parent": { + "hosts": [ + "Test Nexus One" + ] + }, + "parent_rack_group": { + "hosts": [ + "R1-Device", + "TestDeviceR1" + ] + }, + "parent_test_location": { + "children": [ + "child_test_location" + ], + "hosts": [ + "R1-Device", + "test100", + "TestDeviceR1", + "Test Nexus One", + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "parent_test_location_2": { + "children": [ + "child_test_location" + ] + }, + "sub_test_rack": { + "hosts": [ + "TestDeviceR1" + ] + }, + "test_cluster": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_2": { + "hosts": [ + "test104-vm", + "Test VM With Spaces" + ] + }, + "test_cluster_group": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm" + ] + }, + "test_cluster_type": { + "hosts": [ + "test100-vm", + "test101-vm", + "test102-vm", + "test103-vm", + "test104-vm", + "Test VM With Spaces" + ] + }, + "test_rack_role": { + "hosts": [ + "R1-Device" + ] + }, + "test_tenant": { + "hosts": [ + "test100" + ] + } +} \ No newline at end of file diff --git a/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.yml b/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.yml new file mode 100644 index 00000000..0ee90ad3 --- /dev/null +++ b/tests/integration/targets/inventory/files/test_2.2-3_plurals_flatten.yml @@ -0,0 +1,30 @@ +plugin: networktocode.nautobot.inventory +api_endpoint: "http://nautobot:8000" +token: "0123456789abcdef0123456789abcdef01234567" +validate_certs: False + +config_context: True +flatten_config_context: True +flatten_custom_fields: True +plurals: True +interfaces: False +services: False +fetch_all: True +group_names_raw: True + +group_by: + - locations + - tenants + - racks + - rack_group + - rack_role + - tags + - device_roles + - device_types + - manufacturers + - platforms + - cluster + - cluster_group + - cluster_type + - is_virtual + - status From 22756f49c3ed19819a52b972067c1d185304467a Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 27 Mar 2024 13:14:10 -0500 Subject: [PATCH 4/6] Adds inventory test README --- tests/integration/targets/inventory/README.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 tests/integration/targets/inventory/README.md diff --git a/tests/integration/targets/inventory/README.md b/tests/integration/targets/inventory/README.md new file mode 100644 index 00000000..39e98fb7 --- /dev/null +++ b/tests/integration/targets/inventory/README.md @@ -0,0 +1,39 @@ +# Inventory Integration Tests + +This README is focused directly on the inventory integration tests + +## Versioning + +As Nautobot continues to move forward into new versions and add new models, the dynamic inventory that is returned can change. +In an attempt to combat this we need to incorporate a minimum and maximum version number for each test so that we can still test old versions while being able to adapt and iterate for new versions. +Currently we include the min and max versions as part of the filename to indicate which Nautobot versions the test is compatible with. + +The pattern for all inventory test files should be as such: `test_{min version}-{max version}(optional extra moniker).yml` + +The minimum version should be **inclusive** and the maximum version should be **exclusive**. +For example, the filename test_2-2.2.yml is for all versions greater than or equal to 2.0.0 and less than **but not equal** to 2.2.0. +Be sure to use "short" versions in the filename (`2.2` rather than `2.2.0`, `3` rather than `3.0.0`) dropping all trailing `.0`. + +We use `sort` - using the `-V` flag to designate we are sorting version numbers - to do this and you can verify the validation yourself via `bash`: + +```bash +# The pattern is min, current version, max +# If the sort doesn't change the order then it equates to True, but if the order changes than it equates to False. +> printf "%s\n%s\n%s\n" "2.0" "2.1.3" "2.2" | sort -V +2.0 # Minimum version got sorted to the top +2.1.3 # The current version got sorted to the middle, so this would equate to a match and run the test +2.2 # Maximum version got sorted to the bottom +> +> printf "%s\n%s\n%s\n" "2.0" "2.2.3" "2.2" | sort -V +2.0 # Minimum version got sorted to the top +2.2 # Maximum version got sorted to the middle +2.2.3 # Notice that the current version got sorted to the end, so this would equate to not a match +> +> printf "%s\n%s\n%s\n" "2.0" "2.2.0" "2.2" | sort -V +2.0 # Minimum version got sorted to the top +2.2 # Maximum version got sorted to the middle +2.2.0 # Just like in the last example, the full 2.2.0 got sorted above 2.2 so it would not match. The max version is exclusive. +> +``` + +> Note: We expand the **current** version to the full major.minor.patch version automatically in CI so the sorting works correctly with this pattern. If you verify with printf, make sure you use the full version number for the current version, but the short versions for the min and max to match what automation will do. From 0fcb534a7a761fca944870a2df7f8d48915d31e4 Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 27 Mar 2024 13:14:48 -0500 Subject: [PATCH 5/6] Adds 2.2 placeholders to CI files --- .github/workflows/tests.yml | 4 ++++ .github/workflows/trigger_release.yml | 2 ++ 2 files changed, 6 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 83f76956..89652e35 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -55,6 +55,8 @@ jobs: - "3.9" nautobot-version: - "2.1" + # TODO: Change to 2.2 once it's released + # - "2.2" ansible-version: - "2.14" - "2.15" @@ -77,6 +79,8 @@ jobs: nautobot-version: - "2.0" - "2.1" + # TODO: Enable 2.2 once it's released + # - "2.2" ansible-version: - "2.14" - "2.15" diff --git a/.github/workflows/trigger_release.yml b/.github/workflows/trigger_release.yml index c08e1329..db0ce587 100644 --- a/.github/workflows/trigger_release.yml +++ b/.github/workflows/trigger_release.yml @@ -46,6 +46,8 @@ jobs: nautobot-version: - "2.0" - "2.1" + # TODO: Enable 2.2 once it's released + # - "2.2" ansible-version: - "2.14" - "2.15" From 41a25792bb360aced9dfacb80520477f2ffb2d0a Mon Sep 17 00:00:00 2001 From: Joe Wesch Date: Wed, 27 Mar 2024 13:29:41 -0500 Subject: [PATCH 6/6] Updates pynautobot for testing --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index af40cb27..0248c6f0 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1542,13 +1542,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pynautobot" -version = "2.0.2" +version = "2.1.1" description = "Nautobot API client library" optional = false -python-versions = ">=3.8,<4.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "pynautobot-2.0.2-py3-none-any.whl", hash = "sha256:c0533bcd5ab548d23273f6be49071f09a3dec7cd65ded3507be1707d25bb5f0e"}, - {file = "pynautobot-2.0.2.tar.gz", hash = "sha256:a62f7b35d4f3492a3cfb038abfc3272567dd1d4b88703ab2736db47f40263932"}, + {file = "pynautobot-2.1.1-py3-none-any.whl", hash = "sha256:bcf56fee4733942a87dd07f956418f67580f45d08e5296c8fa3d11316c4ca419"}, + {file = "pynautobot-2.1.1.tar.gz", hash = "sha256:f01907a519689dc842f909f850737f68b53953818c97380a8101406d37e49d1b"}, ] [package.dependencies]